java - 通过 IPv6 的 MQTT 通信在 Java 中不起作用
问题描述
我正在运行一个通过 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)
解决方案
推荐阅读
- php - 从数据库中提取唯一数据 - MySQL
- java - 拉2次后如何展开appbar?
- c# - PowerShell 脚本如何保存状态然后在计算机重新启动后继续?
- r - 如何将本地图像插入到 R 中的 ioslide 演示文稿中
- reactjs - 在 react 中制作 Material UI 卡片模板
- oop - 一个关联端如何在 UML 中是关联拥有和可导航的?
- javascript - 通过谷歌应用脚本从谷歌文档中读取文本并在页面上呈现明显滞后
- ios - 有没有办法覆盖视图修饰符?
- javascript - 如何通过 Axios 请求从 Node.js 调用 Apollo-Graphql Upload Mutation
- oracle-apex - 我们可以在非oracle dbs前面使用ords 20.3吗?