使用Paho(更新分支)为Trio异步运行时提供MQTT支持
项目描述
trio_paho_mqtt
trio 专用的异步MQTT客户端。此项目目标是让所有MQTT协议功能都由 paho-mqtt 处理,而异步循环部分则由trio处理。这样可以保持我们的MQTT通信异步,无需将paho-mqtt放入线程,也无需重新实现MQTT协议。
所有回调也被移除,使其更类似trio。消息通过 async for
循环访问。
这是一个尽可能轻量级的paho-mqtt包装器。这样,如果MQTT消息解析出现问题,那就不是我的错 ;-)
用法
首先,请参阅 example.py
和 paho-mqtt 文档。目标是暴露与 paho-mqtt Client
相同的所有方法。如果任何方法(除回调外)缺失或行为异常,这将是错误。请提交问题。
AsyncClient
使用同步 mqtt.Client
和 trio.Nursery
初始化,但除此之外,应与同步 Client
类似地操作。方法是 不是 协程,它们是非阻塞函数,因此您不需要调用 await
。唯一的例外是通过 async for
访问消息。
示例
请参阅 example.py
以获取工作示例!(README中的示例已删除,因为它不工作)
相关项目
- gmqtt - 使用asyncio和回调。与trio不兼容。
- hbmqtt - 使用asyncio。重新实现了MQTT协议。
- aiomqtt - 使用 asyncio 和封装 paho,但仍然使用 paho-mqtt 的循环。我相信所有操作都放入了工作线程中。
- distmqtt - anyio-化的 hbmqtt 分支。与 trio 兼容。
- asyncio-mqtt - 与此库(paho mqtt 的轻量级封装)相同的理念,但针对 asyncio。
项目详情
关闭
trio-paho-mqtt-up1-0.4.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e8cd708dd2cde39679f669579668b21929b1308d618324dcf8fa903cdebb535d |
|
MD5 | c691b0e79c8eb8591e8a895214706a74 |
|
BLAKE2b-256 | 7b788e789ca04f5a009ab2670c4e0b1a1364b8a8a33fe548fa7abea7380bcf62 |
关闭
trio_paho_mqtt_up1-0.4.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3ce568585dc96fef57a60898cb7022bb3a20cf0b0a8c82731b5b377d45893ed8 |
|
MD5 | add99cb205bcd57d0b643e8d2731a0a3 |
|
BLAKE2b-256 | 3d6e99b59ac713cad32fb81671103e2b8cb047a600b9509d1970fef8cf894622 |