【发布时间】:2015-11-13 16:20:56
【问题描述】:
尝试使用 tls:// ... 形式的 url 使用 eclipse paho (1.0.2) java 库连接到 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);
}
}
有没有办法绕过这个限制?或者,是否有某些原因被阻止?人们如何通过这些 url 使用这个客户端?任何帮助表示赞赏。
【问题讨论】:
-
您是否考虑在 Paho 邮件列表或错误跟踪器上提出此问题?我认为这只是非常常见的 ssl==tls 速记的一种情况,而不是专门阻止 tls。