XMPPTCPConnectionConfiguration.Builder configBuilder = XMPPTCPConnectionConfiguration.builder();
configBuilder.setUsernameAndPassword("test", "test");
configBuilder.setResource("test");
configBuilder.setServiceName("37.139.26.142");
configBuilder.setHost("37.139.26.142");
configBuilder.setPort(5222);
configBuilder.setSendPresence(true);
configBuilder.setDebuggerEnabled(true);
configBuilder.setSecurityMode(XMPPTCPConnectionConfiguration.SecurityMode.required );
SASLMechanism mechanism = new SASLDigestMD5Mechanism();
SASLAuthentication.registerSASLMechanism(mechanism);
SASLAuthentication.blacklistSASLMechanism("SCRAM-SHA-1");
SASLAuthentication.unBlacklistSASLMechanism("DIGEST-MD5");
AbstractXMPPConnection connection = new XMPPTCPConnection(configBuilder.build());
try {
connection.connect();
} catch (SmackException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (XMPPException e) {
e.printStackTrace();
}
try {
connection.login();
} catch (XMPPException e) {
e.printStackTrace();
} catch (SmackException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
我正在尝试握手我的Android应用程序和我的openfire服务器(在ubuntu上工作) . 但我不能 . 我没有任何失败或什么 . 什么都没发生 . 那感觉很糟糕 .
2 回答
你试过发短信吗?你确定没有连接吗?您是否检查过您的测试用户未连接的Openfire管理员?
首先,我建议您尝试发送消息:
我从以下代码获得此代码:http://www.igniterealtime.org/builds/smack/docs/latest/documentation/messaging.html
另一个建议是禁用SecurityMode,仅用于测试 .
如果没有任何效果,请尝试使用下面的配置,这对我有用 .
首先我发现这不是Android部分,这是关于Openfire的部分 . 因为我无法将它与Spark连接而且我在Logcat中看到了这个;
然后我做了一些研究并尝试了一些事情,我看到它是关于Ubuntu(至少对我来说) . 然后我将我的openfire服务器移动到Centos . 然后我就可以与Spark连接了 . 然后我遇到了另一个问题 .
我用下面的代码解决了这个问题 . 我希望这可以帮助别人 .
公共类MainActivity扩展AppCompatActivity {
}