Mosquitto MQTT桥接错误

时间:2017-03-17 10:58:52

标签: mqtt mosquitto

我正在尝试将我的本地(Windows)MQTT mosquitto代理桥接到test.mosquitto.org。不幸的是,它引发了一个未知错误。

我使用的是此问题中使用的相同配置 callback hell

配置文件:

1489747961: mosquitto version 1.4.11 (build date 20/02/2017 23:24:29.40) starting
1489747961: Config loaded from Configurations/bridge.conf.
1489747961: Opening ipv6 listen socket on port 1883.
1489747961: Opening ipv4 listen socket on port 1883.
1489747961: Bridge local.NicolasJourdan.test doing local SUBSCRIBE on topic oust_topicst_topic
1489747961: Connecting bridge test (test.mosquitto.org:1883)
1489747961: Bridge NicolasJourdan.test sending CONNECT
1489747961: Error creating bridge: Unknown error.
1489747961: Warning: Unable to connect to bridge test.
1489747969: mosquitto version 1.4.11 terminating

输出:

{{1}}

什么可能产生此错误?我没有运行另一个mosquitto实例,test.mosquitto.org已经启动了

2 个答案:

答案 0 :(得分:1)

在Windows上运行的Mosquitto似乎存在一个错误,阻止了桥接工作。

在Windows上,Mosquitto尝试连接之前,套接字尚未准备就绪。

请参见https://github.com/eclipse/mosquitto/issues/478https://github.com/eclipse/mosquitto/issues/580。这描述了Windows上的潜在问题:

  

检查代码后,我发现bridge.c ....中的语句建立了无阻塞套接字连接。

     

...

     

所以下一个命令...有时会失败,因为尚未建立连接,因为前一个连接是非阻塞的。

答案 1 :(得分:0)

第一个问题是您是在运行本地代理还是仅作为客户端连接。

如果您正在运行代理,请尝试首先使用-c“path to config file运行mosquitto”以查看您的配置文件是否有错误。在终端中运行(Linux上的示例):

mosquitto -c /etc/mosquitto/mosquitto.conf

如果出现错误,控制台会显示错误并从那里取出。

接下来,尝试格式化这样的主题(称为主题重新映射): 主题测试0本地/本地/

现在,您可以从您的代码或终端发布到本地/测试,并且该消息将发布到远程代理上的本地/测试,该代理将通过挂起到同一主题来接收消息。