flask-mqtt: Mqtt Client disconnects immediately after connect(flask-MQTT:MQTT客户端在连接后立即断开连接)
问题描述
我与当地的蚊子经纪人一起尝试了FlaskMQTT(https://github.com/stlehmann/Flask-MQTT)的示例项目。但不幸的是,它并没有奏效。 未正确忽略订阅和发布。因此,我添加了一些记录器消息:
def handle_connect(client, userdata, flags, rc):
print("CLIENT CONNECTED")
@mqtt.on_disconnect()
def handle_disconnect():
print("CLIENT DISCONNECTED")
@mqtt.on_log()
def handle_logging(client, userdata, level, buf):
print(level, buf)
16发送CONNECT(u0,p0,wr0,wq0,wf0,c1,k30)客户端id=b‘flaskmqtt’
客户端断开连接
16收到CONNACK(0,0)
客户端已连接
16发送CONNECT(u0,p0,wr0,wq0,wf0,c1,k30)客户端id=b‘flaskmqtt’
客户端断开连接
16收到CONNACK(0,0)
Moterto Broker显示由于客户端已连接,它断开了FlaskApp的连接:
1580163250:从端口1883上的127.0.0.1新建连接。
1580163250:客户端flASK_mqtt已连接,正在关闭旧连接。
1580163250:新客户端从127.0.0.1作为flASK_mqtt(p2,c1,k30)连接。
1580163250:未指定遗嘱消息。
1580163250:发送CONNACK到FLAASK_MQTT(0,0)
1580163251:从端口1883上的127.0.0.1新建连接。
1580163251:客户端flASK_mqtt已连接,正在关闭旧连接。
1580163251:新客户端从127.0.0.1作为flASK_mqtt(p2,c1,k30)连接。
1580163251:未指定遗嘱消息。
1580163251:发送CONNACK到FLAASK_MQTT(0,0)
1580163251:客户端FLAASK_MQTT上的套接字错误,正在断开连接。
我还测试了一个简单的不带烧瓶的python.paho MQTT客户端示例,它可以正常工作。
我还更改了在flaskMQTT代码self.client.loop_start()
--> self.client.loop_forever()
内尝试了几次循环启动...未更改任何内容。
那么你知道问题出在哪里吗?我也调试了flASK-MQTT代码,但找不到问题。 (我的PYTHON版本是PYTHON 3.6.9(默认,2019年11月7日10:44:02) (我的主机系统是初级Linux)
可能flASK-MQTT库已弃用? 如有任何提示或想法,欢迎光临!
推荐答案
失败的原因在蚊子日志中。
1580163250: New connection from 127.0.0.1 on port 1883.
1580163250: Client flask_mqtt already connected, closing old connection.
1580163250: New client connected from 127.0.0.1 as flask_mqtt (p2, c1, k30).
1580163250: No will message specified.
1580163250: Sending CONNACK to flask_mqtt (0, 0)
连接到代理的每个客户端都必须具有唯一的客户端ID。在本例中,FASK客户端尝试与具有相同客户端ID的代理建立多个连接。当第二个连接启动时,Broker会发现客户端ID相同,并自动断开第一个连接。
您实际上没有提供任何代码来显示您如何设置客户端连接,因此我们无法就如何实际修复它提出任何建议。您注意到GitHub页面上一个示例结尾处的Readme.md中的注释了吗?
这篇关于flask-MQTT:MQTT客户端在连接后立即断开连接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:flask-MQTT:MQTT客户端在连接后立即断开连接
基础教程推荐
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01