如何使用 asyncio 检查 Websocket 数据是不是为空

Posted

技术标签:

【中文标题】如何使用 asyncio 检查 Websocket 数据是不是为空【英文标题】:How can I check the Websocket data is empty by using asyncio如何使用 asyncio 检查 Websocket 数据是否为空 【发布时间】:2016-12-16 17:30:56 【问题描述】:

我正在使用 python asyncio 创建一个 websocket 客户端,但是,当我尝试以下代码时,它挂断了

message = b''
while True:
    print(11111)
    chunk = await reader.read(1024)
    print(len(chunk))
    self.message += chunk
    print(self.connection['reader'].at_eof())
    if not chunk:
        break
print('eeeeeeee')

但是挂断了输出:

11111

35

错误

如何检查缓冲区是否结束?

【问题讨论】:

【参考方案1】:

WebSockets 是比普通 TCP 套接字复杂得多的协议。 您需要使用库来处理它:aiohttp、websockets 或 autobahn。

附言

我是 aiohttp 作者,该库支持纯 HTTP 协议以及 WebSockets。

【讨论】:

以上是关于如何使用 asyncio 检查 Websocket 数据是不是为空的主要内容,如果未能解决你的问题,请参考以下文章

如何在一个类中实现 asyncio websockets?

在这种情况下如何正确使用 asyncio?

Python - 如何使用 asyncio 同时运行多个协程?

Python - 在单独的子进程或线程中运行 Autobahn|Python asyncio websocket 服务器

Python 异步: 检查网站状态示例(21)

如何修复'错误:asyncio:任务已被破坏,但它正在等待处理! Python中的错误