答案 0 :(得分:9)
这是Engine.io协议,您看到的数字是数据包编码:
<packet type id>[<data>]
示例:
2probe
这些是不同的数据包类型:
0开启
打开新传输时从服务器发送(重新检查)
1关闭
请求关闭此传输但不关闭连接本身。
2 ping
由客户发送。服务器应该使用包含相同数据的pong包来回答
示例1.客户端发送:2probe 2.服务器发送:3probe
3 pong
由服务器发送以响应ping数据包。
4条消息
实际消息,客户端和服务器应该使用数据调用它们的回调。
示例1
服务器发送:4HelloWorld
客户端接收并调用回调socket.on('message', function (data) { console.log(data); });
示例2
客户端发送:4HelloWorld
服务器接收并调用回调socket.on('message', function (data) { console.log(data); });
5升级
在engine.io切换传输之前,它会测试服务器和客户端是否可以通过此传输进行通信。如果此测试成功,客户端将发送升级数据包,请求服务器刷新旧传输上的缓存并切换到新传输。
6 noop
noop数据包。主要用于在收到传入的websocket连接时强制轮询周期。
例如
客户端通过新传输连接 客户端发送2probe 服务器接收并发送3probe 客户收发5 服务器刷新并关闭旧传输并切换到新传输。
您可以阅读完整文档here