mqtt客户端订阅之后的消息
时间: 2023-08-12 17:09:05 浏览: 42
当MQTT客户端订阅了一个主题后,如果有消息发布到该主题,客户端就会收到该消息。一般情况下,收到的消息包括消息的主题和消息的内容。在paho-mqtt库中,我们可以通过定义 on_message() 回调函数来处理收到的消息。下面是一个简单的Python代码示例:
```python
import paho.mqtt.client as mqtt
def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc))
client.subscribe("my/topic")
def on_message(client, userdata, msg):
print(msg.topic+" "+str(msg.payload))
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect("localhost", 1883, 60)
client.loop_forever()
```
在上述代码中,我们定义了两个回调函数 on_connect() 和 on_message(),分别用于处理连接和收到消息的事件。在 on_connect() 中,我们订阅了 "my/topic" 主题。在 on_message() 中,我们使用 print() 函数打印出了消息的主题和内容。最后,我们创建了一个MQTT客户端对象,设置好回调函数并连接到服务器,然后使用 loop_forever() 函数进入循环接收消息的状态。当有消息发布到 "my/topic" 主题时,on_message() 函数就会被调用,并打印出消息的内容。