【发布时间】:2015-05-27 13:45:28
【问题描述】:
我正在尝试同时连接到多个服务器。我目前正在使用loop.create_connection,但它在第一个无响应的服务器处冻结。
gsock = loop.create_connection(lambda: opensock(sid), server, port)
transport, protocol = loop.run_until_complete(gsock)
我尝试对此进行线程化,但它在使用的 sid 值以及各种错误(例如 RuntimeError: Event loop is running 和 RuntimeError: Event loop stopped before Future completed)方面产生了问题。另外,根据我的变量(虽然混淆了),当transport, protocol = loop.run_until_complete(gsock) 抛出异常时,协议的connection_made() 方法会被执行。
我对 asyncio 模块不太了解,所以请尽可能全面。我认为我不需要读取器/写入器变量,因为读取应该自动完成并触发data_received() 方法。
谢谢。
【问题讨论】:
标签: python sockets python-3.x python-multithreading python-asyncio