我有asyncio.Protocol子
class MyProtocol(Protocol):
def __init__(self, exit_future):
self.exit_future = exit_future
def connection_made(self, transport):
self.transport = transport
def data_received(self, data):
pass
def eof_received(self):
self.exit_future.set_result(True)
def connection_lost(self, exc):
self.exit_future.set_result(True)
与网络连接创建
while True:
try:
exit_future = Future(loop=loop)
transport, protocol = await loop.create_connection(lambda: MyProtocol(exit_future), host, port)
await exit_future
transport.close()
except:
pass
现在的问题是:我怎么可以给一些外部事件发生时的一些数据? 例如,当asyncio.Queue不为空(queue.get不会阻塞),什么填补了这个以ASYNCIO队列是没有关系? 什么是调用transport.write有事时最正确的方法是什么?