网络与接口
WebSocket(网络套接字)
/ WEB-sock-it /
WebSocket 是一种在浏览器和服务器之间保持一条「活的、双向」线路常开的办法,让消息一旦发生,就能立刻在两个方向上来回流动。聊天应用、实时比分、多人游戏、「对方正在输入……」——凡是需要服务器不等你开口就主动把新消息推给你的场景,背后都靠它。
要明白它为什么重要,先想想网络平常的工作方式:一来一回的「请求—响应」,就像寄信。浏览器寄出一个问题,服务器寄回一个答案,然后这条线就「断了」,直到浏览器再写一封。服务器没法自己主动开口。要是想用这种方式拿实时更新,你就只能不停地追问——「有新的吗?有新的吗?」——一遍又一遍,又慢又费。
WebSocket 把「寄信」换成了一通「一直没挂断的电话」。只要做一次快速的建立动作(一个把普通连接「升级」过去的「握手」),这条线就保持常开,哪一边想说话随时都能说——不必重新发问,也没有延迟。这条常开的通道正是它的全部意义:它让服务器能在事情一变化的那一刻,就拍拍你的肩。
const ws = new WebSocket("wss://chat.example.com");
ws.onmessage = (e) => console.log("server says:", e.data);
ws.send("hello!"); // and you can talk back, any time一条常开的连接:服务器能推给你,你也能随时回传。
普通 HTTP 是「先请求、再响应」;WebSocket 让线路常开,于是服务器能先开口。
又称
另见