为龙卷风 websocket 实现 ping/pong

Edg*_*erg 6 ping tornado websocket python-2.7

我有一个websocket clientPython实现,使用tornado.websocket. WebSocketClientConnection 它连接到远程端的服务器并通过websocket. 早些时候,我在应用程序层实现了ping/pong类似的反馈机制,以确保远程端点是否仍然响应。

我最近刚刚更新了我的tornado软件包,我发现了ping_intervalin WebSocketClientConnection. 我删除了应用程序层的旧ping/pong机制并将其添加ping_interval到我的实现中。

在此更新之后,websocket上述内容将被关闭ping_interval timeout。远程端的服务器处理ping传输层并相应地响应。

  1. 目前我还没有实现该ping方法,所以我是否必须实现ping该方法WebSocketClientConnection?,
  2. 我应该在ping方法中发送任何数据吗?
  3. 我是否必须实现任何方法来处理远程服务器发送的请求响应ping

小智 6

  1. 不,它是默认实现的
  2. 您可以但不必这样做
  3. 我认为根据您的回答,您已经 ment pong 了。如果您使用 ping_interval 则不必处理 pong,但如果您手动发送 ping,则必须自己控制超时,因此必须通过实现 torchado.websocket.WebSocketClientConnection.on_pong 方法来处理 pong。