Java Mosquitto建立连接错误
Java Mosquitto establish connection error
我和一个朋友正在做一个学校项目,我们使用 MQTT 在客户端和服务器之间建立连接。
int qos = 0;
//BROKER CONNECTION
String broker = "tcp://localhost:1883";
String PubId = "127.0.0.1";
MemoryPersistence persistence = new MemoryPersistence();
MqttClient sampleClient = new MqttClient(broker, PubId, persistence);
MqttConnectOptions connOpts = new MqttConnectOptions();
connOpts.setCleanSession(true);
connOpts.setConnectionTimeout(60);
connOpts.setKeepAliveInterval(60);
connOpts.setMqttVersion(MqttConnectOptions.MQTT_VERSION_3_1);
System.out.println("Connecting to broker: " + broker);
sampleClient.connect(connOpts);
System.out.println("Connected");
如果我已经连接到代理(使用我的程序),并且他尝试建立连接,我的程序将终止并返回错误代码 0(无错误),反之亦然(如果他已连接并且我尝试连接他崩溃了)。
但是,如果有人通过 MQTT Explorer(MQTT 客户端)连接到 Broker,程序不会崩溃。
我们的脚本有问题吗?
MQTT 客户端 ID 必须是 globally unique。在您的代码中,您已将 PubId
硬编码为 "127.0.0.1"
.
代码的每个实例都需要不同的值 运行。
我和一个朋友正在做一个学校项目,我们使用 MQTT 在客户端和服务器之间建立连接。
int qos = 0;
//BROKER CONNECTION
String broker = "tcp://localhost:1883";
String PubId = "127.0.0.1";
MemoryPersistence persistence = new MemoryPersistence();
MqttClient sampleClient = new MqttClient(broker, PubId, persistence);
MqttConnectOptions connOpts = new MqttConnectOptions();
connOpts.setCleanSession(true);
connOpts.setConnectionTimeout(60);
connOpts.setKeepAliveInterval(60);
connOpts.setMqttVersion(MqttConnectOptions.MQTT_VERSION_3_1);
System.out.println("Connecting to broker: " + broker);
sampleClient.connect(connOpts);
System.out.println("Connected");
如果我已经连接到代理(使用我的程序),并且他尝试建立连接,我的程序将终止并返回错误代码 0(无错误),反之亦然(如果他已连接并且我尝试连接他崩溃了)。
但是,如果有人通过 MQTT Explorer(MQTT 客户端)连接到 Broker,程序不会崩溃。
我们的脚本有问题吗?
MQTT 客户端 ID 必须是 globally unique。在您的代码中,您已将 PubId
硬编码为 "127.0.0.1"
.
代码的每个实例都需要不同的值 运行。