ejabberd java_java – ejabberd和smack握手失败

我在我的云服务器上运行ejabberd,我认为它运行良好,因为我可以使用pidgin从我的PC连接到它.(ejabberdctl connected-users-number

当我连接时回答1,当我离线时回答0.)

现在我尝试使用smack包从我的android应用程序连接到if,并且我得到IOException:

javax.net.ssl.SSLHandshakeException: Handshake failed

Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0xb897c858: Failure in SSL library, usually a protocol error

error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol (external/openssl/ssl/s23_clnt.c:795 0xacf6bf89:0x00000000)

W/System.err﹕ at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)

W/System.err﹕ at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:318)

这是我的应用程序代码:

XMPPTCPConnectionConfiguration.Builder config = XMPPTCPConnectionConfiguration.builder();

config.setSecurityMode(ConnectionConfiguration.SecurityMode.required);

config.setConnectTimeout(30000);

config.setUsernameAndPassword(username + "@" + service, password);

config.setServiceName(service);

config.setHost(host);

config.setCompressionEnabled(true);

config.setPort(port);

config.setDebuggerEnabled(true);

config.setSocketFactory(SSLSocketFactory.getDefault());

SmackConfiguration.DEBUG = true;

try {

TLSUtils.acceptAllCertificates(config);

XMPPTCPConnection connection = new XMPPTCPConnection(config.build());

connection.connect();

connection.login();

} catch (SmackException ex) {

ex.printStackTrace();

chatClient.setConnection(null);

} catch(IOException ex){

ex.printStackTrace();

chatClient.setConnection(null);

} catch ( XMPPException ex){

ex.printStackTrace();

chatClient.setConnection(null);

}catch (NoSuchAlgorithmException ex) {

ex.printStackTrace();

chatClient.setConnection(null);

}catch (KeyManagementException ex) {

ex.printStackTrace();

chatClient.setConnection(null);

}

return null;

我真的很感激任何帮助!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值