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".

代码的每个实例都需要不同的值 运行。

https://www.eclipse.org/paho/files/javadoc/org/eclipse/paho/client/mqttv3/MqttClient.html#MqttClient-java.lang.String-java.lang.String-org.eclipse.paho.client.mqttv3.MqttClientPersistence-