文章导读: 一、概述-what's WebSocket? 二、运行在浏览器中的WebSocket客户端+使用ws模块搭建的简单服务器 三、Node中的WebSocket 四、socket.io 五、扩展阅读 一、概述-what's WebSocket? 1.1 为什么我们需要WebSocket这样的实时的通信协议? WebSocket是web通信方式的一种,像我们熟知的HTTP协议也是web通信方式的一种。但是我们知道HTTP协议是一种无状态的协议,其服务端本身不具备识别客户端的能力,必须借助外部的一些信息比如说session和cookie,才能与特定的客户端保持通信。也就是说我们所发送的每一个HTTP的请求都会带上请求头中一些相应的信息还有cookie,这明显会增加我们传输的信息的体量从而带来一定的网络延迟,对于一些对通信的实时性要求比较高的应用来说就是不可忍受的了,比如说聊天程序或者是运行在浏览器中的实时小游戏。最郁闷的却还是这些头信息和cookie往往对于服务器响应客户端的请求来说是多余的,也就是说虽然我每个请求都带了这些信息,但是服务器与客户端的交互过程中可能根本用不上这些信息。 为了改善HTTP请求的这种网络延迟的情况,也出现了一些适应不同需求的其他的[ web通信 ]方式,比如说:轮询,长轮询( long-polling ),数据流,EventSouce等等