请帮我解决一下这个。我在这上面花了两天时间,但没有成功。
我正在使用 Paho-Mqtt python 客户端示例。我的 digitalocean debian 服务器上也有 HiveMq mqtt 服务器。如果我在笔记本电脑或 linux Debian 机器上运行,python 中的客户端示例代码可以连接并订阅 digitalocean 服务器。但。这是但是。当我在 digitalocean 服务器(hivemq mqtt 服务器所在的位置)上运行客户端时,它只能连接而不能订阅!我同时使用了 localhost 和服务器 IP,但仍然没有运气。
然而,在 digitalocean 服务器(以及 hivemq mqtt 服务器)上运行的相同客户端代码可以成功连接和订阅外部服务器,例如 m2m.eclipse.org。
我怎么知道它不是订阅而是连接?好吧,它在连接回调时返回 RC:0,但在订阅回调时不返回任何内容。(它应该返回“订阅:1”等)
结论:当 Clinet 与服务器在同一台机器上运行时,它可以连接但不能订阅。