失败,因为:de.measite.minidns.hla.ResolutionUnsuccessfulException:要求 xxxx。 IN AAAA 产生错误响应 NX_DOMAIN

failed because: de.measite.minidns.hla.ResolutionUnsuccessfulException: Asking for xxxx. IN AAAA yielded an error response NX_DOMAIN

将 smack 升级到 4.2.0 后,我遇到了连接问题。

The following addresses failed: 'xxxx:5222' failed because: 

de.measite.minidns.hla.ResolutionUnsuccessfulException: Asking for xxxx.    IN  A yielded an error response NX_DOMAIN, '52.90.233.38:5222' failed because: de.measite.minidns.hla.ResolutionUnsuccessfulException: Asking for xxxx. IN  AAAA yielded an error response NX_DOMAIN

在连接配置生成器中设置主机时会出现此问题。

示例:

.setHost(ServiceConstants.CHAT_SERVER)

https://github.com/igniterealtime/Smack/wiki/Smack-4.2-Readme-and-Upgrade-Guide

这是我的最终配置,在 Davood Falahati 的帮助下成功了!

InetAddress inetAddress = InetAddress.getByName(ServiceConstants.CHAT_SERVER);
            XMPPTCPConnectionConfiguration.Builder builder = XMPPTCPConnectionConfiguration.builder()
                    .setXmppDomain(JidCreate.from(ServiceConstants.CHAT_SERVER).asDomainBareJid())
                    .setPort(5222)
                    .setHostAddress(inetAddress)
                    .setDebuggerEnabled(true)
                    .setSendPresence(true)

该问题主要出现在本地网络中,当本地DNS中没有配置xmpp服务器时。要解决该问题,请显式寻址 xmpp 服务器并使用

setHostAddress(InetAddress address)

看我的回答