WebSocket是浏览器与服务器间全双工、持久化的实时通信协议,通过HTTP握手升级后长期连接,支持服务端主动推送、轻量数据帧及文本/二进制传输。

WebSocket 是浏览器与服务器之间建立的全双工、持久化通信通道,能实现真正的实时数据交换,比轮询或长连接更高效。
WebSocket 和 HTTP 的核心区别
HTTP 是“请求-响应”模式,每次通信都要重新握手,不适合高频交互。WebSocket 在初始 HTTP 握手后升级为独立协议,连接保持打开状态,双方可随时主动发消息。
- 一次连接,长期有效(除非异常断开或手动关闭)
- 服务端可以主动推送数据,无需客户端反复询问
- 数据帧轻量,头部开销小,适合小数据频繁传输
- 支持文本(UTF-8)和二进制数据
前端如何创建并使用 WebSocket
浏览器原生支持 WebSocket 构造函数,用法简单:
const ws = new WebSocket('wss://example.com/chat'); // wss 是加密版
ws.onopen = () => {
console.log('连接成功');
ws.send('Hello Server');
};
ws.onmessage = (event) => {
console.log('收到消息:', event.data); // 可能是字符串或 Blob
};
ws.onerror = (error) => {
console.error('连接出错', error);
};
ws.onclose = () => {
console.log('连接已关闭');
};登录后复制
注意:必须等 onopen 触发后再调用 send(),否则会报错;发送前建议检查 ws.readyState === WebSocket.OPEN。
立即学习“Java免费学习笔记(深入)”;
标签: javascript java js 前端 node.js node cookie 浏览器 云服务 websocket
还木有评论哦,快来抢沙发吧~