Flask Sock (Websocket) 路由在断开连接之前最后一次运行

Flask Sock (Websocket) route runs one last time before disconnect

提问人:Jiehfeng 提问时间:11/16/2023 更新时间:11/16/2023 访问量:15

问:

其中适用于常规 websocket,如果我在路由函数中运行一个循环,并在最后使用 ,如果我在断开连接期间断开连接,则循环将在断开连接之前运行最后一次。flask-sockwhiletime.sleep(15)time.sleep

我尝试使用除布尔值之外的 try 来禁用循环,但它不会阻止它。有什么想法吗?

@socket.route('/example')
def example(websocket):
    while True:
        print('RAN')

        time.sleep(10)
Python 烧瓶 WebSocket

评论


答:

0赞 Jiehfeng 11/16/2023 #1

这并不能解决为什么它在睡眠功能期间终止时会运行两次,但另一种途径是再次询问它是否需要运行,从而确保连接仍然处于活动状态。

@socket.route('/example')
def example(websocket):
    while True:
        websocket.send("Need?")
        need = websocket.receive()
            
        if need == 'true':
            print('RAN')

        time.sleep(10)