试图注册XMPP



我正在尝试创建一个帐户,然后登录到我的XMPP服务器。

我走了这么远:

                try {
                    System.out.println("trying to register for XMPP");
                    XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder()
                            .setServiceName("jabber.org")
                            .setHost(AppConfig.XMPP_HOST)
                            .setPort(Integer.parseInt(AppConfig.XMPP_PORT))
                            .build();
                    XMPPTCPConnection connection = new XMPPTCPConnection(config);
                    connection.connect();
                    AccountManager accountManager = AccountManager.getInstance(connection);
                    accountManager.createAccount(name, password);
                    connection.login(name, password);
                } catch (Throwable e) {
                    e.printStackTrace();
                }

这是输出:

05-17 18:28:12.485  23624-24236/com.example.sqltest2 W/System.err﹕ org.jivesoftware.smack.SmackException$NoResponseException: No response received within packet reply timeout. Timeout was 5000ms (~5s)
05-17 18:28:12.555  23624-24236/com.example.sqltest2 W/System.err﹕ at org.jivesoftware.smack.SynchronizationPoint.checkForResponse(SynchronizationPoint.java:192)
05-17 18:28:12.555  23624-24236/com.example.sqltest2 W/System.err﹕ at org.jivesoftware.smack.SynchronizationPoint.checkIfSuccessOrWait(SynchronizationPoint.java:114)
05-17 18:28:12.555  23624-24236/com.example.sqltest2 W/System.err﹕ at org.jivesoftware.smack.SynchronizationPoint.checkIfSuccessOrWaitOrThrow(SynchronizationPoint.java:97)
05-17 18:28:12.555  23624-24236/com.example.sqltest2 W/System.err﹕ at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectInternal(XMPPTCPConnection.java:815)
05-17 18:28:12.555  23624-24236/com.example.sqltest2 W/System.err﹕ at org.jivesoftware.smack.AbstractXMPPConnection.connect(AbstractXMPPConnection.java:397)
05-17 18:28:12.555  23624-24236/com.example.sqltest2 W/System.err﹕ at com.example.sqltest2.RegisterActivity$4.doInBackground(RegisterActivity.java:281)
05-17 18:28:12.565  23624-24236/com.example.sqltest2 W/System.err﹕ at com.example.sqltest2.RegisterActivity$4.doInBackground(RegisterActivity.java:266)
05-17 18:28:12.565  23624-24236/com.example.sqltest2 W/System.err﹕ at android.os.AsyncTask$2.call(AsyncTask.java:288)
05-17 18:28:12.565  23624-24236/com.example.sqltest2 W/System.err﹕ at java.util.concurrent.FutureTask.run(FutureTask.java:237)
05-17 18:28:12.565  23624-24236/com.example.sqltest2 W/System.err﹕ at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
05-17 18:28:12.565  23624-24236/com.example.sqltest2 W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
05-17 18:28:12.565  23624-24236/com.example.sqltest2 W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
05-17 18:28:12.565  23624-24236/com.example.sqltest2 W/System.err﹕ at java.lang.Thread.run(Thread.java:841)
05-17 18:33:07.495  23624-24446/com.example.sqltest2 W/AbstractXMPPConnection﹕ Connection closed with error
    org.jivesoftware.smack.SmackException: Parser got END_DOCUMENT event. This could happen e.g. if the server closed the connection without sending a closing stream element
            at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1126)
            at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$200(XMPPTCPConnection.java:915)
            at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:930)
            at java.lang.Thread.run(Thread.java:841)

错误发生在

connection.connect();

我在Linux上使用Ejabberd。

日志说已经建立了成功的连接,所以我真的不知道怎么了。

问题可能是什么?

首先,您需要检查服务器是否支持带内注册。据我所知,很长一段时间以来,Jabber.org上的公共注册将被禁用。

最新更新