通过IPv6的MQTT通信在Java中不起作用

时间:2019-02-06 07:27:43

标签: java mqtt ipv6

我正在运行通过mqtt通信的Java应用程序。我可以使用IPv4地址进行通信,但是在尝试与IPv6地址进行通信时遇到问题。

我已将路由器配置为提供IPv6地址。将笔记本电脑连接到路由器后,我可以获得IPv6地址。当我为localhost运行代码时,它工作正常。

下面是我用来在IPv6上运行localhost代码的代理,它可以正常工作。

String broker = "tcp://::1:1883";

但是当我尝试连接到同一网络上另一台设备的IP地址时,却出现错误。

String broker = "tcp://[fe80::54d0:e4dd:96f4:98ca%wlx9cd643864a24]:1883";

我也尝试过不使用下面给出的接口名称。但是会出现同样的错误。

String broker = "tcp://[fe80::54d0:e4dd:96f4:98ca]:1883";

错误:

Connecting to broker: tcp://[fe80::54d0:e4dd:96f4:98ca%wlx9cd643864a24]:1883 reason 0 msg MqttException loc MqttException 
cause java.net.UnknownHostException: [fe80 excep MqttException (0) - java.net.UnknownHostException: [fe80 MqttException (0) - java.net.UnknownHostException: [fe80 
at org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:38) 
at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.run(ClientComms.java:664) at java.lang.Thread.run(Unknown Source)

0 个答案:

没有答案