Используйте aSmack на Android, чтобы подключиться к локальному серверу xmpp и получить исключение IllegalStateException: нет активного преобразователя DNS.

Сегодня я внедряю клиент Android для подключения к локальному серверу xmpp, когда мой код выполняет следующий код, мое приложение Android прерывается, пожалуйста, помогите мне:

public boolean login(String a, String p){
        ConnectionConfiguration config = new ConnectionConfiguration("192.168.1.119");
        config.setSASLAuthenticationEnabled(false);
        config.setDebuggerEnabled(false);
        XMPPConnection connection = new XMPPConnection(config);
        try{
            System.out.println("hehe");
            connection.connect();
            connection.login(a, p);
            //Presence presence = new Presence(Presence.Type.available);
            //presence.setStatus("hehe");
            //connection.sendPacket(presence);
            return true;
        }catch(XMPPException e){
            e.printStackTrace();
        }
        return false;
    }

Я получил следующие ошибки:

08-09 23:30:19.091: E/AndroidRuntime(1860): FATAL EXCEPTION: main
08-09 23:30:19.091: E/AndroidRuntime(1860): java.lang.IllegalStateException: No DNS resolver active.
08-09 23:30:19.091: E/AndroidRuntime(1860):     at org.jivesoftware.smack.util.DNSUtil.resolveDomain(DNSUtil.java:121)
08-09 23:30:19.091: E/AndroidRuntime(1860):     at org.jivesoftware.smack.util.DNSUtil.resolveXMPPDomain(DNSUtil.java:85)
08-09 23:30:19.091: E/AndroidRuntime(1860):     at org.jivesoftware.smack.ConnectionConfiguration.<init>(ConnectionConfiguration.java:107)
08-09 23:30:19.091: E/AndroidRuntime(1860):     at com.example.chatrom.ClientConServer.login(ClientConServer.java:16)
08-09 23:30:19.091: E/AndroidRuntime(1860):     at com.example.chatrom.LogIn$1.onClick(LogIn.java:32)
08-09 23:30:19.091: E/AndroidRuntime(1860):     at android.view.View.performClick(View.java:4240)
08-09 23:30:19.091: E/AndroidRuntime(1860):     at android.view.View$PerformClick.run(View.java:17721)
08-09 23:30:19.091: E/AndroidRuntime(1860):     at android.os.Handler.handleCallback(Handler.java:730)
08-09 23:30:19.091: E/AndroidRuntime(1860):     at android.os.Handler.dispatchMessage(Handler.java:92)
08-09 23:30:19.091: E/AndroidRuntime(1860):     at android.os.Looper.loop(Looper.java:137)
08-09 23:30:19.091: E/AndroidRuntime(1860):     at android.app.ActivityThread.main(ActivityThread.java:5103)
08-09 23:30:19.091: E/AndroidRuntime(1860):     at java.lang.reflect.Method.invokeNative(Native Method)
08-09 23:30:19.091: E/AndroidRuntime(1860):     at java.lang.reflect.Method.invoke(Method.java:525)
08-09 23:30:19.091: E/AndroidRuntime(1860):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
08-09 23:30:19.091: E/AndroidRuntime(1860):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
08-09 23:30:19.091: E/AndroidRuntime(1860):     at dalvik.system.NativeStart.main(Native Method)

person minicaptain    schedule 10.08.2013    source источник
comment
не могли бы вы сказать мне, что вы хотите сделать, я имею в виду, вы хотите ftp или что-то еще ...   -  person Prakhar    schedule 10.08.2013
comment
@Prakhar Я хочу реализовать средства связи с использованием протокола xmpp.   -  person minicaptain    schedule 10.08.2013
comment
ohk, так что вам понадобятся все вещи, такие как ftp-соединения и все такое ..   -  person Prakhar    schedule 10.08.2013


Ответы (1)


Следуйте readme в документации aSmack и позвоните

SmackAndroid.init(Context)

См. ответ потока здесь

person James W    schedule 03.09.2013