线下项目连接正常,部署到阿里云服务器的项目也正常连接,仅在安装emqx的服务器上部署的项目连接不上。
具体报错信息,如下:
2022-09-01 15:25:27.791 ERROR 1 — [ main] c.z.iotplatfrom.util.mqtt.MQTTListener : Unable to connect to server
org.eclipse.paho.client.mqttv3.MqttException: Unable to connect to server
at org.eclipse.paho.client.mqttv3.internal.TCPNetworkModule.start(TCPNetworkModule.java:80) ~[org.eclipse.paho.client.mqttv3-1.2.5.jar:na]
at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.run(ClientComms.java:724) ~[org.eclipse.paho.client.mqttv3-1.2.5.jar:na]
at java.base/java.lang.Thread.run(Thread.java:829) ~[na:na]
Caused by: java.net.ConnectException: Connection refused (Connection refused)
at java.base/java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:na]
at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399) ~[na:na]
at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242) ~[na:na]
at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224) ~[na:na]
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:na]
at java.base/java.net.Socket.connect(Socket.java:609) ~[na:na]
at org.eclipse.paho.client.mqttv3.internal.TCPNetworkModule.start(TCPNetworkModule.java:74) ~[org.eclipse.paho.client.mqttv3-1.2.5.jar:na]
… 2 common frames omitted
报错原因:1883端口拒绝连接。
排查过程:
telnet ip 端口号
测试是否正常通信
这里收到的是拒绝通信
查看了防火墙及开放的端口看了下都没问题
最后猜想可能是因为是使用docker部署的服务,容器与容器的通信可能有点问题。文章来源:https://www.toymoban.com/news/detail-449626.html
最终解决方案:使用容器的ip地址互相访问解决容器与容器之间的通信。文章来源地址https://www.toymoban.com/news/detail-449626.html
到了这里,关于连接(EMQX)mqtt服务器时报错的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!