Error on smack 4.2.0 : IN AAAA yielded an error response NX_DOMAIN

前端 未结 2 2045
半阙折子戏
半阙折子戏 2020-12-16 03:27

i start openFire and test it with spark everything is ok but when i try to connect with smack 4.2.0 in android studio i got this error:

Ljavax/naming/directory/Initi

相关标签:
2条回答
  • 2020-12-16 04:04

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

    In previous versions of Smack, ConnectionConfiguration.setHost(String) could be used to set the XMPP service's host IP address. This is no longer possible due to the added DNSSEC support. You have to use the new connection configuration ConnectionConfiguration.setHostAddress(InetAddress) instead.

    You can check this also.

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

    0 讨论(0)
  • 2020-12-16 04:10

    The error you have encountered is stemming from incomplete addressing of your XMPP server.

    Imagine this scenario:

    my ejabberd server is running on this address: 192.168.209.2 #ejabberd server

    There is a xmpp domain named "localhost" There are two JIDs,

    "davood@localhost" and "sadegh@localhost"

    In smack, I want to authenticate with my user, say "davood@localhost". Then I do it as follow:

                InetAddress addr = InetAddress.getByName("192.168.209.2");
                HostnameVerifier verifier = new HostnameVerifier() {
                    @Override
                    public boolean verify(String hostname, SSLSession session) {
                        return false;
                    }
                };
                DomainBareJid serviceName = JidCreate.domainBareFrom("localhost");
                XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder()
                        .setHost(server) # it will be resolved by setHostAddress method
                        .setUsernameAndPassword("davood","mypass")
                        .setPort(5222)
                        .setSecurityMode(ConnectionConfiguration.SecurityMode.disabled)
                        .setXmppDomain(serviceName)
                        .setHostnameVerifier(verifier)
                        .setHostAddress(addr)
                        .setDebuggerEnabled(true)
                        .build();
                AbstractXMPPConnection conn1 = new XMPPTCPConnection(config);
    
                conn1.connect();
    
                if(conn1.isConnected()){
                    Log.d("XMPP","Connected");
                }
                conn1.login();
    
                if(conn1.isAuthenticated()){
                    Log.d("XMPP","Authenticated");
                    EntityBareJid jid = JidCreate.entityBareFrom("sadegh@localhost");
                    org.jivesoftware.smack.chat2.Chat chat = ChatManager.getInstanceFor(conn1).chatWith(jid);
                    chat.send("Eureka, I am connected!");
    
    
                }
    
    0 讨论(0)
提交回复
热议问题