wangrong
2025-09-23 f19a0e925da02a08b88784a534b16ec6d833df4c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import asyncio
import websockets
 
class WebsockUtil:
    def __init__(self):
        self.clients = set()
        asyncio.run(self.start())
 
    async def handler(websocket, path):
        # 将新连接的客户端加入列表
        clients.add(websocket)
        try:
            async for message in websocket:
                # 将收到的消息广播给所有客户端
                for client in clients:
                    await client.send(message)
        finally:
            # 将断开连接的客户端从列表中删除
            clients.remove(websocket)
 
    async def start():
        async with websockets.serve(self.handler, "127.0.0.1", 5001):
            await asyncio.Future()  # 防止 main() 函数结束