lee
1
错误报告
环境
- EMQX 版本:5.1
-mosquitto版本:3.1
- 操作系统版本:Ubuntu 18
重现此问题的步骤
- xxx
- xxx
- xxx
预期行为
实际行为
功能请求
描述你需要的功能
我是用python写的emqx客户端,当客户端订阅到emqx的主题消息时,需要调用mosquitto对象的publish,将消息发布到mosquitto的主题中。
为什么你需要这个功能
web服务使用emqx发布消息至树莓派A的mosquitto(mqtt服务器),树莓派A再通过mosquitto将消息转发至集群中的其他树莓派。
其他
我在emqx的on_message方法中,调用了mosquitto的publish消息发布方法,但是没有任务响应,请问这是什么原因?
t1ger
2
没太理解你的用法。
EMQX 是一个 MQTT 服务器,所以你说的写 emqx 客户端是指什么?
lee
3
就是这个客户端,服务器装了EMQX的MQTT服务器,树莓派装的是mosquitto的MQTT服务器
t1ger
4
那你的客户端收到来自 EMQX 的消息后直接调用消息发布 API 把消息发布到 Mosquitto 不就可以了吗?没懂为什么要在客户端这边调用 Mosquitto 的 Publish 消息发布方法。
EMQX 和 Mosquitto 都是 MQTT 服务器,Eclipse Paho Python 是 MQTT 客户端库,客户端库提供的消息发布 API 适用于所有 MQTT 服务器。
lee
5
”客户端收到来自 EMQX 的消息后直接调用消息发布 API 把消息发布到 Mosquitto“ ,我是这么做的。
我订阅了Mosquitto的主题,但是没有任何反应,
t1ger
6
你是不是把消息发给 EMQX 了?你想从一个 MQTT 服务器接收,然后发给另一个 MQTT 服务器,需要起两个客户端进程。
lee
7
”你想从一个 MQTT 服务器接收,然后发给另一个 MQTT 服务器,需要起两个客户端进程。“
是的,我起两个客户端,我要把emqx的消息发给Mosquitto。
但是我发现,在emqx客户端的on_message方法里面调用Mosquitto客户端的publish没响应。
这是在emqx客户端的on_message方法里面调用Mosquitto客户端的publish调式的截图
t1ger
8
你可以抓包看下消息有没有发给 mosquitto。