我正在尝试实施一个协议,以便将收到的Pongs与相应的Pings进行匹配。
但是我如何处理我发送的Pings却没有收到Pong?这会发生吗?或者是否保证所有ping都有相应的Pongs,而且从未接收到Pong表示连接丢失? websocket协议文档对此保持沉默。
答案 0 :(得分:2)
Websockets基于TCP协议,可确保按顺序处理所有数据包,并在继续处理收到数据之前重新传输丢失或损坏的数据包。
因此,对于丢失的乒乓球,唯一可能的解释是在连接另一端执行ping / pong协议时出错。
Web浏览时可以很容易地看到TCP协议及其排序的可靠性。当您的互联网连接不良时,网站加载可能会在进行中时被中断,但那些加载的部分总是处于正确的顺序而没有任何错误的错误$ / GHfDw(&amp; IjfdsAyW $§REggnfdER§$ HHxM + FD5 < / p>
答案 1 :(得分:2)
一致的WebSocket实现必须在收到ping后返回pong。通常,在合理的时间之后没有pong意味着网络错误或其他东西在远程端点上忙或坏。有一些警告。