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