import asyncio
import websockets
import asyncio
import websockets
from websockets.legacy.server import WebSocketServerProtocol
import json
import time
import threading
clients={}
async def ws_handle(websocket: WebSocketServerProtocol, path: str):
async for message in websocket:
print(message)
jsonmsg = json.loads(message)
if("deviceMac" in jsonmsg):
mac = jsonmsg["deviceMac"]
if(mac not in clients):
clients[mac] = websocket
await websocket.send(message)
async def sendmsg(mac,mssage):
websocket = clients[mac]
await websocket.send(mssage)
async def main():
async with websockets.serve(ws_handle, "127.0.0.1", 8080):
await asyncio.Future()
def WebSocketServer():
asyncio.run(main())
thread = threading.Thread(target=WebSocketServer)
thread.start()
async def test():
flag=0
while(True):
flag = flag + 1
for client in clients:
await sendmsg(client, str(flag)+"haha")
time.sleep(1)
def asyntest():
asyncio.run(test())
thread2 = threading.Thread(target=asyntest)
thread2.start()