cas*_*lin 15
在RFC 6455中,WebSocket协议电流参考,定义了一些控制帧有关的WebSocket通信状态:
0x80x90xA Ping和Pong用于心跳,并允许您检查客户端是否仍然响应.请参阅以下报价:
Ping帧可以用作keepalive,也可以用作验证远程端点是否仍然响应的方法.
但是当客户端获得Ping时,必须将Pong发送回服务器.看报价:
收到Ping帧后,端点必须发送Pong帧作为响应,除非它已经收到一个关闭帧.它应该尽快响应Pong框架.
当设计两个客户端和服务器,支持心跳是你.但是如果你需要检查连接是否仍然存在,Ping和Pong帧是标准的方法.
请记住,如果发送了Ping并且没有发回Pong,则一个对等体可能会认为另一个对等体不再存在.
它是强制性的还是不强制性的,取决于客户端和服务器的实现。如果您连接到要求您用PONG应答PING的服务器,则您可能会断开连接,以防不回复。如果您是服务器且客户端向您发送PING,则相同。
服务器和客户端的实现各不相同(有无数种实现),但是浏览器的javascript客户端不会发送PING,并且不提供任何API来发送PING,尽管它会回复带有PONG的PING。
Ping 和 Pong 不是强制性的。它们很有用,因为它们允许检测断开的连接。(线路上没有一些流量,就无法检测断开的连接。)
请注意,在浏览器中,无法访问 WebSocket 心跳。如果您需要浏览器客户端代码来检测断开的连接,那么您必须在应用程序级别实现检测信号。
| 归档时间: |
|
| 查看次数: |
9645 次 |
| 最近记录: |