c# - 我们可以将运行在 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();
}
}
解决方案
是的,只要您已将代理配置为添加 MQTT 传输端点,您就可以执行此操作。您还需要确保您的设备可以访问可能位于防火墙或其他安全措施后面的代理,因此此处的配置是关键。此处记录了 MQTT 的 ActiveMQ 5.x 代理配置。
推荐阅读
- stata - 如何跨列减去
- java - 关于未应用 spring batch tasklet 的执行方法以外的方法的 AOP 建议
- javascript - 如何从数组中查找最大数量,但仅在javascript中从选定元素中查找
- apache-kafka - 使用 avro 模式中的 java.util.List 从 Kafka 读取消息
- javascript - Reactjs如何在渲染块之前使用if ... else
- stripe-payments - Stripe 何时使用 \Stripe\InvoiceItem::create 和 Charge::create?
- c - 在 ubuntu 上的 eclipse 中打开 .txt 文件时没有输出显示
- python - 根据条件插入索引的新行
- scala - 类中的单例对象与伴侣对象
- mysql - MYSQL:如何从与另一列中的值相关的列中返回值