我正在尝试连接到我们当地的MQTT代理。
我创建客户端:
Mqtt5AsyncClient client = Mqtt5Client.builder()
.serverHost(connectionConfig.getIp())
.serverPort(1883)
.automaticReconnectWithDefaultConfig()
.identifier(connectionConfig.getClientID())
.addConnectedListener(context -> isConnected = true)
.addDisconnectedListener(context -> isConnected = false)
.buildAsync();后一种我尝试打开连接:
private void openConnection()
{
logger.info("openConnection() start");
client.connectWith()
.simpleAuth()
.username(connectionConfig.getUser())
.password(connectionConfig.getPassword().getBytes())
.applySimpleAuth()
.send()
.whenComplete((connAck, throwable) ->
{
if (throwable != null)
{
logger.error("connect error");
logger.error("couldn't connect to broker={}", throwable);
} else
{
logger.info("mqtt client connected");
subscribe();
}
});
logger.info("openConnection() end");
}我在等待whenComplete给我一些结果,但什么也没有发生。在日志中,我只得到了这个:
13:00:53.375 [Thread-0] INFO mqtt.MqttHiveClient - openConnection() start
13:00:55.582 [Thread-0] INFO mqtt.MqttHiveClient - openConnection() end我是否应该发现一些不同的异常呢?
即使我改变了:
.serverHost(connectionConfig.getIp())做错了什么事:
.serverHost("asdž)什么都没扔。
发布于 2022-03-14 13:54:50
我删除了线:
.automaticReconnectWithDefaultConfig()现在,当我试图连接时,会抛出异常。看起来,如果启用了automaticReconnect,它就会尝试重新连接,而不会引发异常。
连接失败的原因是,我使用的是tcp://127.0.0.1,而不是仅使用127.0.0.1。
https://stackoverflow.com/questions/71467511
复制相似问题