Android aSmack 4.0.*XMPPTCP连接可以';t连接到OpenFire并发出警报(SmackException$NoResponseException)

Android aSmack 4.0.*XMPPTCP连接可以';t连接到OpenFire并发出警报(SmackException$NoResponseException),android,xmpp,ejabberd,smack,asmack,Android,Xmpp,Ejabberd,Smack,Asmack,我正在使用asmack-android-8-source-4.0.6 当我尝试连接到服务器时,无论是openFire还是Ejabbered,我都会遇到这个异常 org.jivesoftware.smack.SmackException$NoResponseException 这是我的密码: SmackAndroid.init(getApplicationContext()); ConnectionConfiguration conConfig = new Conn

我正在使用asmack-android-8-source-4.0.6

当我尝试连接到服务器时,无论是openFire还是Ejabbered,我都会遇到这个异常

org.jivesoftware.smack.SmackException$NoResponseException

这是我的密码:

        SmackAndroid.init(getApplicationContext());
        ConnectionConfiguration conConfig = new ConnectionConfiguration(HOST, PORT);
        conConfig.setDebuggerEnabled(true);

        connection = new XMPPTCPConnection(conConfig);
        try {
            connection.connect();
            Log.i("AppName", "CONNECTED TO " + connection.getHost());
        }
当我打电话时

connection.connect()

我得到一个例外:

org.jivesoftware.smack.SmackException$NoResponseException

请注意,我在asmack-android-19-0.8.10上尝试了相同的代码,效果非常好

我想问题在于

XMPPTCP连接

因为在asmack-android-19-0.8.10中,我使用

XMPPConnection


有什么帮助吗?

我发现了问题,我所做的就是添加这一行:

ConnectionConfiguration.setSecurityMode(SecurityMode.disabled);
我成功地连接到服务器

下面是我最后的配置:

ConnectionConfiguration ConnectionConfiguration =  new ConnectionConfiguration(HOST, PORT);
ConnectionConfiguration.setDebuggerEnabled(true);
ConnectionConfiguration.setSecurityMode(SecurityMode.disabled);
试试这个:

public void connect() 
{

    Thread t = new Thread(new Runnable() {
        @Override
        public void run() {
            SmackAndroid.init(getApplicationContext());

            ConnectionConfiguration conConfig = new ConnectionConfiguration(HOST, PORT);
            conConfig.setDebuggerEnabled(true);
            conConfig.setSecurityMode(SecurityMode.disabled);
            connection = new XMPPTCPConnection(conConfig);
            try {
                connection.connect();
                connection.login("unm", "pswd");
                Presence presence = new Presence(Presence.Type.available);
                connection.sendPacket(presence);
                setConnection(connection);

            } catch (XMPPException e) {
                e.printStackTrace();
            } catch (SmackException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    });
    t.start();
}

始终发布异常的完整堆栈跟踪。同时将SmackConfiguration.DEBUG设置为true,并向我们显示输出。@Flow我在这里发布了下面的答案:@Flow谢谢您的帮助!!!:)我读过你的许多帖子和评论:)我也面临同样的问题。我还禁用了安全模式,我正在使用它连接到xmpp,我得到了,你能告诉我任何解决方案吗?你得到了什么例外?@user987760你有没有使用xmpp和asmack进行过文件共享。如果是,请帮助解决此问题@AndroidLocks我没有使用xmpp文件共享,而是使用http上载/下载媒体,并通过自定义包发送URL扩展能否请您详细解释您的答案?我的代码是关于使用asmack-android-8-4.0.6库进行连接和登录的,这还不够清楚。