我目前正在运行两个单独的python程序,在不同的websocket上侦听。一个产生并发送相机数据,另一个接收JSON消息。由于websocket可以同时接收和发送,因此我只想使用一种连接。
是否可以共享websocket连接,但是使用不同的线程或进程?请注意,生产者占用大量CPU,因此无法共享协同例程。
我尝试生成一个线程,但是线程似乎不允许异步等待
async def json_receiver(websocket):
while True:
messageJson = await websocket.recv()
message = json.loads(messageJson)
# do something with the message
async def server(websocket, path):
t = threading.Thread(target=json_receiver, args=(websocket,))
t.start()
# create next thread..
asyncio.get_event_loop().run_until_complete(websockets.serve(server, '', 8000))
asyncio.get_event_loop().run_forever()