尝试使用 eclipse paho (1.0.2) java 库使用表单的 url 连接到 MQTT 代理tls:// ...
会抛出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);
}
}
有没有办法绕过这个限制?或者,是否有某些原因被阻止?人们如何通过这些 url 使用这个客户端?任何帮助表示赞赏。