Bluemix快速入门在发布时与Paho MQTT客户端断开连接

时间:2016-01-20 10:32:37

标签: android ibm-cloud mqtt iot paho

我在Android中使用Paho MQTT客户端连接到IBM Bluemix快速入门物联网服务。连接部分运行良好,但是当我发布时,云应用程序显示我已断开连接,但在客户端中我没有例外。

我使用此权限:

<uses-permission android:name="android.permission.INTERNET"/>

连接:

String broker       = "tcp://quickstart.messaging.internetofthings.ibmcloud.com:1883";
String clientId     = "d:quickstart:iotqs-sensor:myDeviceID";

try {
    client = new MqttClient(broker, clientId, null);
    MqttConnectOptions connOpts = new MqttConnectOptions();
    client.connect(connOpts);
} catch(MqttException me) {

发布:

String topic        = "iot-2/evt/iotsensor/fmt/jon";
String content      = "{ \"d\" : { \"data\" : 5 } }";

try {
    MqttMessage message = new MqttMessage(content.getBytes());
    message.setQos(0);
    client.publish(topic, message);
} catch(MqttException me) {

奇怪的是:这段代码昨天起作用了。 可能是什么问题呢? 下一步是连接并发布到我自己的Bluemix IoT服务,但如果我不能向演示发送消息,我就无法提供更多信息。

更新: 如果我连接并发布,快速入门应用程序会显示我已断开连接,但客户端仍然允许我发布大约3秒,之后我得到一个例外:32104(客户端未连接)。

1 个答案:

答案 0 :(得分:2)

设备必须先注册才能连接。请参阅https://docs.internetofthings.ibmcloud.com/messaging/devices.html#/上的快速入门文档。我没有看到您的组织下注册的任何设备。此外,在组织下,它显示您的电子邮件/ ID为&#34;已过期&#34;。请在https://internetofthings.ibmcloud.com/#/处登录,并在访问标签下将自己添加为永久用户。