我正在使用 Eclipse Paho Java MQTT 客户端连接到 Mosquitto Broker,使用的 Jar 是 mqttv3.jar。在连接到 MQTT 代理时,我必须传递用户名和密码作为连接选项进行身份验证。我在 MqttConnectOptions 对象中设置相同并将该对象传递给 client.connect() 函数。这是标准程序。当身份验证凭据正确时,它会毫无问题地连接到代理。
当首次登录凭据不正确并且代理拒绝按预期连接时,会发生奇怪的行为。但是在使用正确的凭据进行连接尝试后,我立即收到以下 MqttException。
等待服务器响应超时 (32000)
我在 OS X 10.8.2 和 Windows 7 中使用了相同的 Java 代码,但令人惊讶的是,这个问题只出现在 Mac 上并且在 Windows 上完美运行。
这种错误是否适用于一个操作系统而不适用于其他操作系统?
Mosquitto 代理没有问题,因为它与具有相同场景的命令行客户端完美配合。