繁体   English   中英

无法使用org.eclipse.paho.client.mqttv3连接到Azure IOT MQTT

[英]Unable to connect to the Azure IOT MQTT using org.eclipse.paho.client.mqttv3

我正在使用“org.eclipse.paho.client.mqttv3”将我的java代码连接到azure IOT但是已经引发了连接MQTT异常。

脚步:

1)创建MQTT客户端。

2)创建SSL工厂。

3)最后连接到Azure IOT。

但是,连接异常已被提升为:

Inside AzureCommunicator::connect, Could not connect due to an MqttException!

MqttException (0) - java.lang.ClassCastException: class java.net.Socket cannot be cast to class javax.net.ssl.SSLSocket (java.net.Socket and javax.net.ssl.SSLSocket are in module java.base of loader 'bootstrap')
    at org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:38)
    at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.run(ClientComms.java:736)
    at java.base/java.lang.Thread.run(Thread.java:835)
Caused by: java.lang.ClassCastException: class java.net.Socket cannot be cast to class javax.net.ssl.SSLSocket (java.net.Socket and javax.net.ssl.SSLSocket are in module java.base of loader 'bootstrap')
    at org.eclipse.paho.client.mqttv3.internal.SSLNetworkModule.start(SSLNetworkModule.java:141)
    at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.run(ClientComms.java:722)
    ... 1 more

代码片段:

        // Connect our client.
        System.out.println("Inside AzureCommunicator::connect, Trying to connect...");
        try
        {
            //client.connect(options);
            client.connect(options).waitForCompletion();
        }
        catch (MqttException e1)
        {
            System.out.println("Inside AzureCommunicator::connect, Could not connect due to an MqttException!\n");
            e1.printStackTrace();
            return false;
        }

调试后我发现,Paho MQTT需要更新才能接受自定义套接字类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM