Java 无法将android与MQTT连接到代理
我正在尝试连接到Apollo broker,当我在普通java项目中单独使用它时,这段代码可以完美地工作,除了现在它在android项目中之外,一切都完全相同,我尝试在单击MainActivity中的按钮时运行它 在我尝试连接MQttClient之前,我有一个文本框被更新为“1”,但是第二个.setT(“2”)没有运行,所以我认为问题出在client.connect(opts)上,就像我只运行client.connect()一样。文本框被更新为“2”,但由于我需要用户名和密码,所以其余的文本框没有运行 我刚开始使用MQTT学习。谢谢你的帮助Java 无法将android与MQTT连接到代理,java,android,messaging,mqtt,Java,Android,Messaging,Mqtt,我正在尝试连接到Apollo broker,当我在普通java项目中单独使用它时,这段代码可以完美地工作,除了现在它在android项目中之外,一切都完全相同,我尝试在单击MainActivity中的按钮时运行它 在我尝试连接MQttClient之前,我有一个文本框被更新为“1”,但是第二个.setT(“2”)没有运行,所以我认为问题出在client.connect(opts)上,就像我只运行client.connect()一样。文本框被更新为“2”,但由于我需要用户名和密码,所以其余的文本框没
package com.example.androidmqtt;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.eclipse.paho.client.mqttv3.MqttDeliveryToken;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.eclipse.paho.client.mqttv3.MqttTopic;
import org.eclipse.paho.client.mqttv3.internal.MemoryPersistence;
public class Service {
MqttClient client;
MemoryPersistence persistence = new MemoryPersistence();
public Service()throws Exception{}
public static void main(String[] args) throws Exception {
new Service().doDemo();
}
public void doDemo() {
try {
client = new MqttClient("tcp://10.1.10.1:1883", "testingMyMQTT", persistence);
MainActivity.setT("2");
MqttConnectOptions opts = new MqttConnectOptions();
opts.setUserName("nabi");
opts.setPassword("M4rk3".toCharArray());
opts.setKeepAliveInterval(480);
MainActivity.setT("1");//sets the txt1 in main view to 1 so i know whats going on
client.connect(opts);
MainActivity.setT("2");
MqttMessage msg = new MqttMessage("Works".getBytes());
msg.setRetained(true);
msg.setQos(1);
MainActivity.setT("its working");
MqttTopic topic = client.getTopic("Android/Test");
MqttDeliveryToken token = topic.publish(msg);
} catch (MqttException e) {
e.printStackTrace();
}
}
}验证android是否可以连接到您的本地网络
10.1.10.1
,如果可以,请查看Apollo broker的日志