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如何通过编程更改安卓中imagebutton的大小   Java Web应用程序中的angularjs路由   以更智能的方式在JUnit5(或其他测试Java库)中使用数组进行参数化   java在16位颜色深度的Graphics2D中绘制时颜色错误   java有可能在需要时从Firebase手动检索数据,以及如何组合查询?   格拉德尔爪哇。lang.NoSuchFieldError:md2   java中的循环乘法表错误   用于检测圆括号的java正则表达式   如果我们使用新字符串(“abcd”),java就是在堆中创建的字符串对象   java有没有办法让JOptionPane下拉菜单为所选选项输出数字?   javasocket与URL网站访问   java如何创建不同数据类型的列表,根据类型迭代并执行不同的操作?   java JSP获取html类型=数字输入字段的值   java Android谷歌地图圈可点击