浏览器可以直接请求 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)的状态码。

相关推荐
qq_254674411 小时前
凤凰山社区 最低生活保障审核确认
网络·生活
循环渐进Forward1 小时前
【TinyWebServer】HTTP连接处理
linux·网络·c++·网络协议·算法·http
chian-ocean1 小时前
深入了解UDP套接字:构建高效网络通信
网络·网络协议·udp
想躺在地上晒成地瓜干2 小时前
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
linux·网络·音视频·树莓派·raspberrypi·树莓派教程
Cyrus_柯2 小时前
网络编程(Modbus进阶)
linux·c语言·网络·tcp/ip
hgdlip2 小时前
wifi改ip地址有什么用?wifi改ip地址怎么改
服务器·网络协议·tcp/ip
Yana.nice3 小时前
nsswitch.conf配置文件内容解析
运维·服务器·网络
zh_199953 小时前
计算机网络面试汇总(完整版)
网络·tcp/ip·php
Yana.nice3 小时前
sysctl优先级顺序
服务器·前端·网络
网硕互联的小客服4 小时前
如何排查 Docker 容器资源占用过高的问题?
运维·服务器·网络·安全·docker·容器