![](/img/trans.png)
[英]How to resolve org.eclipse.paho.client.mqttv3.internal.ClientState.checkForActivity issue of mqtt client?
[英]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.