我正在尝试实现一个协议,以将收到的 Pong 与相应的 Ping 进行匹配。
但是对于我发送但没有收到 Pong 的 Ping,我该怎么办?这会发生吗?还是保证所有 ping 都会有相应的 Pong,并且从未收到 Pong 表示连接丢失?websocket 协议文档对此保持沉默。
我正在尝试实现一个协议,以将收到的 Pong 与相应的 Ping 进行匹配。
但是对于我发送但没有收到 Pong 的 Ping,我该怎么办?这会发生吗?还是保证所有 ping 都会有相应的 Pong,并且从未收到 Pong 表示连接丢失?websocket 协议文档对此保持沉默。
符合要求的 WebSocket 实现必须在收到 ping 时返回一个 pong。通常,在合理的时间后没有 pong 意味着网络错误或远程端点上的其他东西正忙或损坏。有一些注意事项。
Websockets 基于 TCP 协议,可确保按顺序处理所有数据包,并在继续处理传入数据之前重新传输丢失或损坏的数据包。
因此,丢失 pong 的唯一可能解释是在连接的另一端执行 ping/pong 协议时出现错误。
在浏览网页时可以很容易地看到 TCP 协议的可靠性及其排序。当您的互联网连接不佳时,网站加载可能会在进行过程中中断,但那些加载的部分始终处于正确的顺序并且没有任何 errohETHgf%$/GHfDw(&IjfdsAyW$§REggnfdER§$HHxM+FD5