烧瓶插口keepalive

时间:2019-03-05 22:05:59

标签: python flask websocket flask-sockets

我最近开始在烧瓶应用程序中以本地WebSocket API作为客户端使用flask-sockets。我想知道是否有适当的方法以一定间隔从服务器发送ping请求作为keepalive?

遍历geventwebsocket库时,我注意到了handle_ping(...)的定义,但是它从未被调用过。有没有办法确定WS上的ping间隔?

有时一分钟半后,我发现我的插座会死掉。

@socket_blueprint.route('/ws', defaults={'name':''})
def echo_socket(ws):
    while not ws.closed:
        ws_list.append(
        msg = ws.receive()
        ws.send(msg)

如果我将它们保存在列表中,我可能会启动一个单独的线程并每30秒手动将ping操作码发送给客户端,但是我觉得有一种更好的方法来处理它。.

1 个答案:

答案 0 :(得分:1)

service中,在此线程中创建一个thread,向client发送一些数据(任何数据)。如果client已断开连接,则15秒后服务器将关闭。 我在gevent websocketflask-sockets中找不到有关ping的任何方法。因此,采用这种方法。

相关问题