【问题标题】:Asyncio server not flushing transport buffer异步服务器不刷新传输缓冲区
【发布时间】:2018-04-16 22:04:22
【问题描述】:

我正在使用 asyncio.Protocol 类运行 asyncio TCP 服务器。当我在 data_received() 函数中使用数据变量时,我得到了所有通过套接字发送的数据。有没有办法在每次读取缓冲区时刷新缓冲区?这是我的代码:

def data_received(self, data):
    data = str(data)
    print("Received Data: ", data)

我可以在文档中找到的唯一刷新函数仅适用于我未使用的 StreamWriter 类。

【问题讨论】:

    标签: python python-asyncio tcpserver


    【解决方案1】:

    在 Python 3 中,您可以使用 printflush 关键字参数:

    def data_received(self, data):
        data = str(data)
        print("Received Data: ", data, flush=True)
    

    强制刷新流。请参阅documentation

    【讨论】:

      猜你喜欢
      • 2015-04-14
      • 2014-03-02
      • 1970-01-01
      • 2016-08-05
      • 2016-06-25
      • 1970-01-01
      • 1970-01-01
      • 2011-08-22
      • 2018-04-17
      相关资源
      最近更新 更多