javascript中的WebSocket是什么_如何实现实时通信

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

javascript中的WebSocket是什么_如何实现实时通信-第1张图片-佛山资讯网

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

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~