我目前使用websocket
和rfc6455:
收到Ping帧后,端点必须发送Pong帧 响应,除非它已经收到一个关闭框架。它应该回应 尽可能用Pong框架。
Websocket
更喜欢Pong
回复Ping
。但是如果Ping
可以通过tcp连接发送成功,那么这是否意味着连接仍然存在,为什么需要远程响应Pong
。
答案 0 :(得分:0)
因为在代理的情况下,PING / PONG为您提供端到端检查,而TCP机制只保证您可以发送到下一跳。
PING / PONG也用于衡量性能,PING可以发送时间戳,PONG会回复它。
答案 1 :(得分:0)
我在某处搜索,找到similar questions。需要应用层Ping
Pong
,因为在调用send
时,我们只能知道数据已成功复制到网络堆栈,而tcp
层不会向我们报告当数据真正转移时。
也许有人可以更详细地解释设计......