Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 tornado websocket乒乓球的实现_Python 2.7_Websocket_Tornado_Ping - Fatal编程技术网

Python 2.7 tornado websocket乒乓球的实现

Python 2.7 tornado websocket乒乓球的实现,python-2.7,websocket,tornado,ping,Python 2.7,Websocket,Tornado,Ping,我有一个用python实现的websocket客户端,它是使用tornado.websocket实现的。 WebSocketClientConnection 它连接到远程端的服务器,并通过websocket进行通信。早些时候,我在应用层实现了类似于ping/pong的反馈机制,以确保远程端点是否仍然响应 我最近刚刚更新了我的tornado软件包,在WebSocketClientConnection中遇到了ping\u间隔。我在应用层删除了旧的ping/pong机制,并在我的实现中添加了这个pin

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

我最近刚刚更新了我的
tornado
软件包,在
WebSocketClientConnection
中遇到了
ping\u间隔。我在应用层删除了旧的
ping/pong
机制,并在我的实现中添加了这个
ping\u间隔

更新后,
websocket
在所述的
ping\u间隔超时后关闭。远端服务器在传输层处理
ping
,并做出相应的响应

  • 目前我还没有实现
    ping
    方法,所以我应该为
    WebSocketClientConnection
    实现
    ping
    方法吗
  • 我应该用
    ping
    方法发送任何数据吗
  • 我是否必须实现任何方法来处理远程服务器为
    ping
    请求发送的响应
  • 没有
  • 我猜你的回答是“乒乓球”。如果使用ping_interval,则不必处理pong,但如果手动发送ping,则必须自己控制超时,因此必须通过实现tornado.websocket.WebSocketClientConnection.on_pong方法来处理pong

  • hi@Fian,如果我的服务器也是tornado并使用WebSocketHandler实现websocket,WebSocketHandler是否也必须发送pong来处理使用WebSocketClientConnection发送的ping?WebSocketClientConnection和WebSocketHandler都基于类,默认情况下,该类执行定期ping,如果在ping_间隔时间内未收到pong,则完成连接。