Asyncio 服务器不刷新传输缓冲区

Asyncio server not flushing transport buffer

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

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

我在文档中可以找到的唯一冲洗功能仅适用于我未使用的 StreamWriter class。

在Python3中你可以使用printflush关键字参数:

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

强制刷新流。见 documentation.