除了将WebSocket ping帧标识为ping帧的操作码之外,ping ping帧可以包含也可以不包含应用数据。
据我所知,ping/pong的目的是防止TCP连接超时。帧包含尽可能小的伪数据(即操作码),尽可能频繁地发送,以表明连接仍在使用中。
还有更多的内容吗?如果我从不在ping帧中发送应用程序数据,我会错过什么吗?例如,如果我在ping中发送令牌,以便在ping和pong之间建立对应关系,从而通过发送ping和接收相应pong之间的时间来判断连接质量,我会滥用ping/pong吗?
发布于 2013-06-25 22:44:11
ping和pong帧允许有效载荷,如果在Ping中发送,将由相应的pong返回。它们对应用程序数据可能没有用处的原因有几个。
也就是说,所有与RFC6455兼容的WebSocket实现都将回复ping,即使它们不让应用程序知道它们或允许应用程序发送它们自己的ping。这使得使用ping/pong及其有效负载绝对适合于keepalive消息或其他网络级别的统计或记账。
https://stackoverflow.com/questions/17290648
复制相似问题