我试图创建一个websocket-to-websocket网桥/网关。此服务器应接受8765上的公共连接,并将消息转发到等待7777的另一个内部服务器,反之亦然。
我的问题是如何监控来自 套接字的消息?下面的代码只是循环公共套接字消息。我不确定如何同时观看publicsock和publicsock.privatesock。如果在任一套接字上发生了某些事情,我需要将消息转发给另一方。
最初来自http://aaugustin.github.io/websockets/
import asyncio
import websockets
@asyncio.coroutine
def handler(publicsock, path):
publicsock.privatesock = yield from websockets.connect('ws://localhost:7777/')
while True:
message = yield from publicsock.recv()
if message is None:
break
yield from processPublicMessage(publicsock, message)
publicsock.privatesock.close()
start_server = websockets.serve(handler, 'localhost', 8765)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()