1

我正在尝试将 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

有什么建议么?谢谢!

4

1 回答 1

2

您尚未正确配置 MQTT transportConnector。尝试这个:

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

请注意,在您的文件中,您使用了TCPuri 前缀。

于 2013-09-05T10:13:19.530 回答