我试图了解asyncio库,特别是使用套接字.我写了一些代码以试图获得理解,
我想异步运行发送器和接收器套接字.我到了最后一个发送所有数据的地步,但是我必须再运行一个循环.看看如何做到这一点,我从stackoverflow找到了这个链接,我在下面实现了 - 但是这里发生了什么?是否有更好/更理智的方式来做到这一点,而不是打电话stop跟随run_forever?
stop()事件循环中的文档是:
停止运行事件循环.
调用stop()之前安排的每个回调都将运行.调用stop()后调度的回调将不会运行.但是,如果稍后再次调用run_forever(),那些回调将会运行.
而且run_forever()的文件是:
运行直到调用stop().
问题:
run_forever唯一的出路run_once?这甚至没有意义asyncio.async()?loop.create_task在我的Linux系统上出错.https://gist.github.com/cloudformdesign/b30e0860497f19bd6596
而不是运行reactor.run(),我想在维护自己的主循环时偶尔调用别的东西(我不喜欢,像reactor.runOnce()或其他东西).扭曲的是最好的做法吗?