2012-08-27 324 views
2

我正在为Android编写一个MQTT客户端。我使用ia92库(wmqtt.jar)并尝试从MQ获取消息,以便将它们显示为android通知。我的问题是,我第一次尝试连接到MQ时,我的Android客户端应用程序成功连接并且MQ消息可以正常进行。当我关闭Wi-Fi并断开网络连接时,MQTT客户端连接会按预期下降,但当我再次打开它时,应用程序不会建立MQ连接并引发MQTTException,该错误代码没有错误。为什么MQTT客户端无法重新连接?

mqttClient.connect(this.mqttClientId, cleanStart, keepAliveSeconds); 

这有什么问题?我严重需要帮助的任何一点..提前

感谢

+2

因为ia92不再被开发或支持,所以最好使用Paho Java客户端。 http://git.eclipse.org/c/paho/org.eclipse.paho.mqtt.java.git/ – ralight

+0

@ralight你能给我推荐关于Android中paho使用的任何示例吗? – Alpay

+1

我自己并没有使用它,但请尝试https://github.com/eclipse/paho.mqtt.java/blob/master/org.eclipse.paho.sample.mqttv3app/src/org/eclipse/paho/sample /mqttv3app/Sample.java – ralight

回答

2

Java的客户端泛美卫生组织实现包含一个Android服务客户端和样本: https://github.com/eclipse/paho.mqtt.java/tree/master/org.eclipse.paho.android.service

您也可以使用Java泛美卫生组织的一个例子用于在Android中实施推送通知的客户端: https://github.com/dobermai/android-mqtt-push

+0

在第二个示例的链接中没有看到任何自动重新连接机制。它应该如何工作? – alexislg

+0

你**回调**必须收听** connectionLost **然后做一个** client.connect()** 看到这个例子[回调连接失败]( https://github.com/eclipse /paho.mqtt.java/blob/496f94a58a41557ba2401d4ba94bc099a75ba8ef/org.eclipse.paho.jmeclient/org.eclipse.paho.jmeclient.mqttv3.MIDPSample/src/org/eclipse/paho/jmeclient/mqttv3/sampleMIDP/WmqttMgr.java) – Teixi

相关问题