• 解决连接MQTT时报的Connection refused: connect问题以及无权连接的问题


    目录

    ​编辑

    错误日志:

    排查思路: 

    总结


    错误日志:

    org.eclipse.paho.client.mqttv3.MqttException: 无法连接至服务器
        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.lang.Thread.run(Thread.java:750) ~[na:1.8.0_333]
    Caused by: java.net.ConnectException: Connection refused: connect
        at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_333]
        at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81) ~[na:1.8.0_333]
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) ~[na:1.8.0_333]
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) ~[na:1.8.0_333]
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) ~[na:1.8.0_333]
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) ~[na:1.8.0_333]
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394) ~[na:1.8.0_333]
        at java.net.Socket.connect(Socket.java:606) ~[na:1.8.0_333]
        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

    排查思路: 

    1. 首先使用ping命令看下能否ping通服务端
    2. 查看服务端防火墙是否开放连接的端口号【重点】
    3. 保证客户端连接服务端的IP地址以及端口号是否正确【请仔细看】 
    4. 其次看下MQTT服务端的配置文件是否开放允许远程连接等【重重点】

    我报这个错的原因是MQTT的配置文件没有设置允许远程连接导致的,如果你也是因为配置文件导致的Connection refused: connect错误,那么请往下看:

    • 修改mosquitto.conf 

    •  修改下面两张图中的位置接 

    设置允许所有ip连接  

    设置允许远程连接 

    假如你没有添加上面这个配置,那么会报下面这个错误:

    org.eclipse.paho.client.mqttv3.MqttSecurityException: 无权连接
        at org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:28) ~[org.eclipse.paho.client.mqttv3-1.2.5.jar:na]
        at org.eclipse.paho.client.mqttv3.internal.ClientState.notifyReceivedAck(ClientState.java:1053) ~[org.eclipse.paho.client.mqttv3-1.2.5.jar:na]
        at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:151) ~[org.eclipse.paho.client.mqttv3-1.2.5.jar:na]
        at java.lang.Thread.run(Thread.java:750) ~[na:1.8.0_333]

    总结

    只配置了listener 1883 0.0.0.0而不配置allow_anonymous true的话会报无权连接的问题!

    👍点赞,你的认可是我创作的动力 !
    🌟收藏,你的青睐是我努力的方向!
    ✏️评论,你的意见是我进步的财富!  

  • 相关阅读:
    Python Connect SQLServer 2008
    Apache Doris的架构讲解
    【788. 旋转数字】
    有属性的自定义注解,如何获取到post请求中RequestBody中对象的一个属性值?
    Luby控制器从哪里购买
    Stm32_标准库_14_串口&蓝牙模块_解决手机与蓝牙模块数据传输的不完整性
    net-java-php-python-社区书店管理信息计算机毕业设计程序
    能ping通但无法上网的问题
    css+js:实现tab切换线条跟随效果
    各种ui框架的 form校验 validator获取不到value
  • 原文地址:https://blog.csdn.net/qq_38238956/article/details/125892394