在通过tcp传输时,在应用程序层中Ping之后无用的Pong?

时间:2016-11-29 09:46:29

标签: tcp websocket

我目前使用websocketrfc6455

  

收到Ping帧后,端点必须发送Pong帧   响应,除非它已经收到一个关闭框架。它应该回应   尽可能用Pong框架。

Websocket更喜欢Pong回复Ping。但是如果Ping可以通过tcp连接发送成功,那么这是否意味着连接仍然存在,为什么需要远程响应Pong

2 个答案:

答案 0 :(得分:0)

因为在代理的情况下,PING / PONG为您提供端到端检查,而TCP机制只保证您可以发送到下一跳。

PING / PONG也用于衡量性能,PING可以发送时间戳,PONG会回复它。

答案 1 :(得分:0)

我在某处搜索,找到similar questions。需要应用层Ping Pong,因为在调用send时,我们只能知道数据已成功复制到网络堆栈,而tcp层不会向我们报告当数据真正转移时。

也许有人可以更详细地解释设计......