read engine.io:engine.io是socket.io的重叠引擎实现“双向”通信。 源码
websocket原理:客户端通过http协议,发送一个协议升级的http报文,服务器解析http报文,发现需要升级协议到websocket,判断http头的内容,看是否满足条件,满足然后返回一个http包同意切换协议。后续通信的时候,就是在tcp范围上发送websocket协议的数据包。在nodejs中,实现步骤是: 监听upgrade事件,收到一个协议升级的http报文时,nodejs会触发该事件,处理http头,然后回复一个同意升级的http报文,并保存tcp层的socket。通过socket实现推送功能。适合客户端支持websocket协议的情况。 侦听请求事件,nodejs在收到的HTTP请求时会触发该事件。这种方式就和我们平时请求cgi一样。通过交换的方式实现“推送”功能,适合客户端不支持websocket协议的情况。 他可以单独使用(作为服务器)。他不是websocket的
用户评论