python mqtt客户端库

nyamuk的Python项目详细描述


尼亚穆克
======

nyamuk是一个python mqtt库,最初基于libmosquito。
它实现了mqtt协议的3.1和3.1.1版本。
目前仅支持Python2.7

功能
--------

*[x]MQTT 3.1版
*[x]MQTT 3.1.1版
*[x]SSL协议
*[x]QoS 0,1&2支持
*[]文档字符串和文档
*[]python3支持
*[]高级日志记录

安装
-------

来源:
```
$>;python setup.py安装
```

使用pypi包:
```
$>;pip安装nyamuk
```

示例
-------

发布QoS为1的消息(使用MQTT v3.1.1)
``Python
导入系统
从Nyamuk导入*

定义nloop(客户端):
client.packet廑write()廑刷新写入缓冲区(发送到MQTT服务器的消息)
client.loop()填充读取缓冲区(将接收到的消息排队)
返回client.pop_event();返回第一条接收到的消息(出列)

客户端=nyamuk(“test_nyamuk”,服务器=“test.mosquito.org”)
ret=client.connect(版本=4)
ret=nloop(client)ret应该是eventconnack对象
如果不是instance(ret,eventconnack)或ret.ret_代码!=0:
打印“连接失败”;sys退出(1)

client.publish('foo/bar','这是一个测试',QoS=1)
ret=nloop(客户端)ret应该是eventpuback

客户端断开连接()
```

订阅主题
``Python
导入系统
从Nyamuk导入*

定义nloop(客户端):
client.packet廑write()廑刷新写入缓冲区(发送到MQTT服务器的消息)
client.loop()填充读取缓冲区(将接收到的消息排队)
返回client.pop_event();返回第一条接收到的消息(出列)

客户端=nyamuk(“test_nyamuk”,服务器=“test.mosquito.org”)
ret=client.connect(版本=4)
ret=nloop(client)ret应该是eventconnack对象
如果不是instance(ret,eventconnack)或ret.ret_代码!=0:
打印“连接失败”;sys退出(1)

client.subscribe('foo/bar',QoS=1)
ret=nloop(客户端)
如果不存在(ret,eventsuback): 打印未收到的子系统;sys退出(2)
打印“授予的QoS为”,ret.granted\u QoS[0]

尝试:
如果为真:
evt=nloop(客户端)
如果是instance(evt,eventpublish):
print'我们收到一条消息:{0}(topic={1})'。格式(evt.msg.payload,evt.msg.topic)

接收到的消息为QoS 0或1

如果evt.msg.QoS==1:
客户端.puback(evt.msg.mid)

除了键盘中断:
通过

客户端断开连接()
```


作者
------

原创作者:Iwan B.Kusnanto
当前维护者:Guillaume Bour

许可证
------

Nyamuk是根据BSD许可证发行的

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JavaFX FadeTransition消耗大量GPU   可以在ajax请求(JavaScript)中使用文件类(Java)吗?   java为什么是组织。ietf,org。天哪,组织。w3c和org。POJO的xml部分?   macos Processing 3安装Java工具包mac 10.12.6   socket的java连接问题。从客户端到socket。io服务器0.9.6   java应用程序默认凭据无法创建Google App Engine服务帐户凭据   通过在Maven中运行项目的java类生成源代码   使用ObjectInputStream从socket等待java数据   java在firebase数据库中获取当前用户详细信息   swing如何向Java JScrollPane动态添加组件   java如何在ANTLR4中发出令牌?   绘制圆时出现java InvalidClassException。为什么?   用于Java的SNMP库   java spring mvc控制器以不同的方式映射   java缩放文件夹中的图像   多线程Java线程池阻塞队列,始终执行最后几个   java无法访问ActivityCompatApi23类文件   java使用XMLHttpRequest每5秒在JS中发送一次空请求,并在Internet Explorer 9中返回304   java如何在hibernate jpa中通过两个辅助表连接两个实体?   eclipse如何在osgi插件中将java文档附加到jar?