浏览器可以直接请求 websocket

一、原生支持

浏览器原生支持 WebSocket 协议,这使得开发者可以直接在 JavaScript 代码中使用 WebSocket 来建立与服务器的双向通信通道。

javascript 复制代码
const socket = new WebSocket("ws://localhost:8080");

socket.addEventListener("open", function (event) {

  console.log("WebSocket连接已打开");

  socket.send("你好,服务器!");

});

socket.addEventListener("message", function (event) {

  console.log("收到消息:", event.data);

});

socket.addEventListener("close", function (event) {

  console.log("WebSocket连接已关闭");

});

socket.addEventListener("error", function (event) {

  console.log("WebSocket出错:", event);

});

二、跨域考虑

不过,当 WebSocket 请求涉及跨域时,浏览器会进行安全检查。与传统的 HTTP 请求跨域类似,需要服务器正确配置跨域头信息(如`Access-Control-Allow-Origin`等)来允许跨域的 WebSocket 连接。否则,浏览器可能会阻止 WebSocket 握手,导致连接失败。

例如:如果服务器没有正确配置跨域策略,在浏览器控制台可能会看到类似"WebSocket handshake: Unexpected response code: 403"的错误信息,表示 WebSocket 握手过程中出现问题,服务器返回了禁止访问(403)的状态码。

相关推荐
发光小北6 小时前
Profinet 从站转 EtherNet/IP 从站网关如何应用?
网络·网络协议·tcp/ip
wangl_927 小时前
Modbus RTU 与 Modbus TCP 深入指南-Wireshark抓包分析实战
网络协议·tcp/ip·wireshark·tcp·modbus·rtu
晓杰'7 小时前
从0到1实现 Balatro 游戏后端(2):NestJS框架搭建与项目结构设计
后端·websocket·typescript·node.js·游戏开发·项目实战·nestjs
高锰酸钾_7 小时前
计算机网络-链路层-介质访问控制
网络·计算机网络
源远流长jerry9 小时前
Linux 网络发送机制深度解析:从应用到网线
linux·服务器·网络·网络协议·tcp/ip
handler019 小时前
UDP协议与网络通信知识点
c语言·网络·c++·笔记·网络协议·udp
怀旧,10 小时前
【Linux网络编程】8. 网络层协议 IP
linux·网络·tcp/ip
cen__y10 小时前
Linux11(网络编程)
linux·运维·服务器·c语言·网络·网络协议·tcp/ip
小新同学^O^11 小时前
简单学习 --> WebSocket
java·websocket·网络协议·学习
CableTech_SQH11 小时前
商业地产和高端酒店该怎么选综合布线解决方案?
运维·服务器·网络