Smack方法相当于aSmack setSASLAuthenticationEnabled

时间:2018-02-05 11:43:20

标签: android xmpp smack asmack

我正在从我的Android项目中的aSmack迁移到最新版本的Smack库我遇到了这个问题... aSmack方法setSASLAuthenticationEnabled在smack中不存在,现在我无法连接到我工作的两个服务器(其中一个需要SecurityMode.required,另一个需要SecurityMode.disabled)。

这是我目前的代码与smack ...

    XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder()
                    .setHost(host.getHost())
                    .setPort(host.getPort())
                    .setXmppDomain(TDActivity.get_domainXMPP())
                    .setSecurityMode(SecurityMode.required)
                    .setCompressionEnabled(true)
                    .build();
            connectionXMPP = new XMPPTCPConnection(config);

这是旧的asmack正常工作的代码......

  AndroidConnectionConfiguration  config = new AndroidConnectionConfiguration (host.getFQDN(),host.getPort(),TDActivity.get_domainXMPP()); 
  config.setSASLAuthenticationEnabled(true); 
  config.setSecurityMode(SecurityMode.required); 
  config.setCompressionEnabled(true); 
  config.setReconnectionAllowed(false); 
  SmackConfiguration.setKeepAliveInterval(1000 * 5);    // 5 sec 
  SmackConfiguration.setPacketReplyTimeout(1000 * 10);    // 10 sec 

(在发布服务器中,证书已更新,但在生产中它们已过期。这就是为什么它适用于发布而不是生产。但证书的更新不依赖于我,所以我必须找到一个通用溶液)

干杯!

0 个答案:

没有答案