【发布时间】:2016-12-10 17:23:14
【问题描述】:
假设我有一个无限的 while 循环等待 WebSocket Tornado 客户端连接的 read_message() 方法。然后,我在外部触发了一个发送消息并应立即得到响应的函数。
由于一切都是异步的,我会假设当外部调用发生时,执行会转到它。但是当我尝试在该调用中侦听响应时,它会抛出一个AssertionError,指出self.read_future 不是None,而它应该是。
以下是客户端应用程序的方法。早些时候,它连接到服务器并将连接放在self.conn 变量中:
async def loop(self):
while True:
print(await self.conn.read_message())
async def ext_call(self):
self.conn.write_message('Hello, World!')
response = await self.conn.read_message() # This line fails
为什么我不能在两个不同的地方收听消息?
【问题讨论】:
标签: python python-3.x websocket tornado