Python 将多个客户端连接到websocket服务器braodcasting数据

Python 将多个客户端连接到websocket服务器braodcasting数据,python,websocket,python-asyncio,Python,Websocket,Python Asyncio,我正在创建一个websocket服务器,您应该能够在其中连接多个客户端。当客户端连接时,它将接收一次某些信息,当接收到这些信息时,它将继续侦听广播的数据。服务器将能够同时向所有客户端“广播”数据,但在侦听新连接的客户端时,似乎不知道如何持续更新数据 我尝试过使用asynchio的创建任务,并使用无限while循环。当第一个客户端尝试连接时,一切都能正常工作。但是当第二个客户端尝试连接时,或者当第一个客户端刷新连接时,问题就会出现。它卡在while循环中,已停止侦听新连接 还尝试在结果处理程序上使

我正在创建一个websocket服务器,您应该能够在其中连接多个客户端。当客户端连接时,它将接收一次某些信息,当接收到这些信息时,它将继续侦听广播的数据。服务器将能够同时向所有客户端“广播”数据,但在侦听新连接的客户端时,似乎不知道如何持续更新数据

我尝试过使用asynchio的创建任务,并使用无限while循环。当第一个客户端尝试连接时,一切都能正常工作。但是当第二个客户端尝试连接时,或者当第一个客户端刷新连接时,问题就会出现。它卡在while循环中,已停止侦听新连接

还尝试在结果处理程序上使用线程

导入异步IO
导入WebSocket
异步def连接(websocket,路径):
#只发送一次
等待websocket.send(一些json数据))
异步def报告(websocket,路径):
#应连续发送到所有连接的客户端
尽管如此:
等待websocket.send(braodcast_数据)
异步定义任务处理程序(websocket,路径):
等待自我连接(websocket,路径)
等待自我报告(websocket,路径)
start_server=websockets.service(任务处理程序'localhost',8765)
asyncio.get_event_loop()。运行_直到完成(启动服务器)
asyncio.get_event_loop().永远运行_()

如前所述,我知道这将卡在while循环中,但我似乎找不到任何其他解决方案。

查看异步web套接字查看异步web套接字