【问题标题】:MQTT Android not connecting to ActiveMqMQTT Android 未连接到 ActiveMq
【发布时间】:2013-09-09 02:09:05
【问题描述】:

我正在尝试将 Android 应用程序连接到 ActiveMQ 服务器。 我正在使用 ActiveMQ,因为我的服务器已经使用 JMS 与 ActiveMQ 服务器通信,因此将 android 客户端连接到 JMS 代理对我来说非常有益。

我在 ActiveMQ 中启用了 MQTT 在此页面之后:http://activemq.apache.org/mqtt.html 我下载的任何 MQTT 客户端(IBM MQTT 客户端或 Paho MQTT 客户端)都有一个小问题,无法识别“mqtt://”url 前缀,所以我尝试使用 tcp。这是配置在 activemq.xml 中的样子:

<transportConnectors>
    <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireformat.maxFrameSize=104857600"/>
    <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireformat.maxFrameSize=104857600"/>           
    <transportConnector name="mqtt" uri="tcp://0.0.0.0:1883"/>
</transportConnectors>

当我尝试使用任何 mqtt 客户端示例进行连接时,例如:http://mosquitto.org/2011/11/android-mqtt-example-project/ 我无法连接到 ActiveMQ,并且在服务器端出现错误:

2013-09-05 12:34:17,550 | WARN  | Transport Connection to: tcp://192.168.0.111:42148 failed: java.io.IOException: Unknown data type: 77 | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ Transport: tcp:///192.168.0.111:42148@1883

有什么建议吗? 谢谢!

【问题讨论】:

    标签: java android activemq mqtt


    【解决方案1】:

    您没有正确配置 MQTT transportConnector。试试这个:

    <transportConnectors>
      <transportConnector name="mqtt" uri="mqtt://localhost:1883"/>
    </transportConnectors>
    

    请注意,您使用了 TCP uri 前缀。

    【讨论】:

    • 我最终使用了&lt;transportConnectors&gt; &lt;transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883"/&gt; &lt;/transportConnectors&gt;,它成功了
    猜你喜欢
    • 2014-04-16
    • 2013-10-06
    • 1970-01-01
    • 2021-10-21
    • 2017-01-05
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多