无法连接到网络外的ActiveMQ

时间:2014-08-17 13:42:00

标签: android tcp activemq

我已在Apache ActiveMQ上安装了VPS ( virtual private server),现在的问题是当我尝试使用以下TCP网址在Android中建立连接时

" TCP://134.12.333.44@61616" //无法连接

" TCP://134.12.333.44@1883" //无法连接

但我无法连接它并在android

中获得以下异常
 MqttException: MQIsdp ClientId > 23 bytes

这是我的activemq.xml的内容

 <transportConnectors>
            <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
            <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="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        </transportConnectors>

当我在网络外访问ActiveMQ时,我已经通过我的服务器更改了以上配置 即 134.12.333.44 (这是一个假的ip只是为了展示一个例子)

    <transportConnector name="openwire" uri="tcp://134.12.333.44:61616?

maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>



     <transportConnector name="mqtt" uri="mqtt://134.12.333.44:1883?

maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>

1 个答案:

答案 0 :(得分:0)

如果您的Android客户端是MQTT,那么尝试连接到端口61616绝对不会起作用,因为这是您配置的OpenWire传输连接器,所以不要这样做。至于到1883的连接,您可能需要在防火墙上打开端口,因为我在您的问题中没有看到任何对该步骤的引用。

仅仅因为您在ActiveMQ上配置了这些端口并不能让外部世界访问它们。您需要配置或让您的网络管理员配置防火墙以允许该端口上的流量。