【问题标题】:xmppframework connection and disconnection management with eJaberd使用 eJaberd 进行 xmppframework 连接和断开管理
【发布时间】:2017-06-05 04:04:31
【问题描述】:

我正在努力管理 XMPPFramework 与服务器的连接和断开连接

  1. 我无法无限期保持与服务器的连接 时间
  2. 当应用程序运行时,我断开 XMPPStream 与服务器的连接 到后台并让你停留 10 分钟
  3. 我正在使用 XMPPStreamManagement 所以消息不会丢失
  4. 应用程序出现故障,流与服务器断开连接

问题

一到两次断开连接和连接后,XMPPStream 卡在连接上,即使网络工作正常。 当应用程序进入后台时,我可以看到 Stream Did Disconnected 从服务器成功的日志 我应该如何管理重新连接以及为什么会卡住。

我在服务器和 XMPPFramework 中使用 StreamManagement 和 AutoPing

【问题讨论】:

    标签: ios ejabberd xmppframework


    【解决方案1】:

    使用

    "- (void)xmppStream:(XMPPStream *)sender socketDidConnect:(GCDAsyncSocket *)socket" 放 "xmppStream.enableBackgroundingOnSocket = YES;"

    在 Info.plist 中为 UIBackgroundMode 添加 voip。

    添加

    (BOOL)setKeepAliveTimeout:(NSTimeInterval)超时处理程序:(void (^)(void))keepAliveHandler

    【讨论】:

    • (BOOL)setKeepAliveTimeout:(NSTimeInterval)timeout handler:(void (^)(void))keepAliveHandler 已在最新的 iOS 中被弃用,并且还启用了 VoIP,并且在连接之前启用了 xmppStream.enableBackgroundingOnSocket = YES XMPP 流。结果还是一样
    猜你喜欢
    • 1970-01-01
    • 2015-03-07
    • 2014-01-27
    • 1970-01-01
    • 1970-01-01
    • 2018-03-03
    • 2017-11-04
    • 2015-11-06
    • 2016-01-12
    相关资源
    最近更新 更多