首页 > 解决方案 > 我们可以将运行在 PC 上的 ActiveMQ 服务器与运行在 android 上的 ActiveMQ 客户端连接起来吗?

问题描述

我正在尝试从用 C# 编写的发件人向 ActiveMQ 发送消息,然后尝试在运行 ActiveMQ 客户端的 android 设备上接收消息。

我无法做到这一点。任何帮助将不胜感激。

我正在使用 paho eclipse 客户端。

这是我的代码:

    //Connection with the server
    private void connect() {
        MqttConnectOptions connectOptions = new MqttConnectOptions();
        connectOptions.setAutomaticReconnect(true);

        client = new MqttAndroidClient(this, serverURI, clientId);
        try {
            client.connect(connectOptions, new IMqttActionListener() {
                @Override
                public void onSuccess(IMqttToken asyncActionToken) {
                    publishBtn.setEnabled(true);
                    subscribe();
                }

                @Override
                public void onFailure(IMqttToken asyncActionToken, Throwable e) {
                    e.printStackTrace();
                }
            });
        } catch (MqttException e) {
            e.printStackTrace();
        }
    }

标签: c#androidandroid-studioactivemq

解决方案


是的,只要您已将代理配置为添加 MQTT 传输端点,您就可以执行此操作。您还需要确保您的设备可以访问可能位于防火墙或其他安全措施后面的代理,因此此处的配置是关键。此处记录了 MQTT 的 ActiveMQ 5.x 代理配置。


推荐阅读