【问题标题】:asyncio streams check if reader has dataasyncio 流检查阅读器是否有数据
【发布时间】:2014-11-05 11:06:41
【问题描述】:

所以我想实现一个简单的通信协议,其中读写完全异步。这意味着客户端发送一些数据,然后服务器可能会或可能不会响应答案。所以我不能只打电话给reader.read(),因为这会阻塞,直到至少返回一些东西。在此期间,我可能还有一些东西要发送。

那么有没有办法检查读者是否有东西要阅读? (请注意,我专门讨论的是流版本:我完全清楚协议版本具有用于读取和写入的单独处理程序,并且不会受到此问题的影响)

【问题讨论】:

    标签: python-3.x python-asyncio


    【解决方案1】:

    没有办法询问读者有没有传入数据。

    我想创建asyncio.Task 用于在循环中从异步流读取器读取数据。 如果您需要异步写入数据,请随时从任何具有一些传出数据的任务中调用 StreamWriter.write()

    我强烈不建议直接使用协议——它们是对流控制有用的低级抽象,但对于应用程序代码来说使用高级流更好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-21
      • 2012-09-04
      • 2013-10-28
      相关资源
      最近更新 更多