WebSocket 消息旁边的数字代码有何含义?

Eve*_*oob 5 javascript sockets debugging websocket node.js

我刚刚完成了简单的聊天客户端 socket.io 教程,并且正在使用 Chrome WebSocket 检查器检查浏览器和 Node.js 服务器 Web 套接字之间的消息。消息前面有数字前缀,如下面的屏幕截图所示。

在此输入图像描述

正如你所看到的,有一些消息只有“2”和“3”,在我的发出旁边有 42 秒来回。他们的意思是什么?是否有我应该熟悉的主要消息类型列表,以便我可以了解如何调试 Web 套接字?

The*_*Pea 0

重复的问题。正如注释所说, Websocket 消息中的数字代码不是Websocket 的一部分,它们是由 socket.io 库添加的。

数字的意义可以在engine.io协议socket.io协议中找到,并在其他答案中进行描述

引擎.io协议

所以你描述的“just 2”和“just 3”是“ping”和“pong”

以下是可用数据包类型的列表:

类型 ID 用法
打开 0 在握手时使用。
关闭 1 用于指示可以关闭传输。
2 用于心跳机制。
乒乓球 3 用于心跳机制。
信息 4 用于向另一端发送有效负载。
升级 5 在升级过程中使用。
努普 6 在升级过程中使用。

套接字.io协议

所以你描述的“42”是engine.io 4(意思是“消息”)和socket.io 2(意思是“事件”)的组合

以下是可用数据包类型的列表:

类型 ID 用法
连接 0 在连接到命名空间期间使用。
断开 1 当与名称空间断开连接时使用。
事件 2 用于向对方发送数据。
确认 3 用于确认事件。
连接错误 4 在连接到命名空间期间使用。
BINARY_EVENT 5 用于向对方发送二进制数据。
二进制确认 6 用于确认事件(响应包括二进制数据)。