尝试使用eclipse paho(1.0.2)java库使用tls:// ...
形式的url连接到MQTT代理会抛出IllegalArgumentException
。不足为奇,它在代码中特别不允许(尽管ssl可用)。连接在MqttConnectOptions
protected static int validateURI(String srvURI) {
try {
URI vURI = new URI(srvURI);
if (!vURI.getPath().equals("")) {
throw new IllegalArgumentException(srvURI);
}
if (vURI.getScheme().equals("tcp")) {
return URI_TYPE_TCP;
}
else if (vURI.getScheme().equals("ssl")) {
return URI_TYPE_SSL;
}
else if (vURI.getScheme().equals("local")) {
return URI_TYPE_LOCAL;
}
else {
throw new IllegalArgumentException(srvURI);
}
} catch (URISyntaxException ex) {
throw new IllegalArgumentException(srvURI);
}
}
这种限制有什么办法吗?或者,有什么理由阻止它吗?人们如何将这个客户端与这些网址一起使用?任何帮助表示赞赏。
答案 0 :(得分:0)
我刚刚使用相同的Eclipse Paho(1.0.2)库遇到了同样的问题,并在将代理URI更改为"ssl://....."
后使其运行(在某种程度上)。至少我能够初始化SSL握手。