如何在 iOS 的后台线程中运行 XMPP Room Join & Invite 进程

Posted

技术标签:

【中文标题】如何在 iOS 的后台线程中运行 XMPP Room Join & Invite 进程【英文标题】:How to run XMPP Room Join & Invite process in background Thread in iOS 【发布时间】:2016-11-10 15:07:14 【问题描述】:

我在 ios 中遇到了关于 Room join 和邀请成员加入 XMPP Room 的问题。 我有一个子句需要在登录时将 200 个房间连接在一起,我做到了,但它阻塞了主线程。 任何人都可以建议在不阻塞主线程的情况下处理数百个房间加入无缝的方法。

谢谢,

【问题讨论】:

【参考方案1】:

你为什么要一次加入 200 个房间?

我猜你需要加入才能获得所有群聊?这是一种非常低效的方式。我认为你需要实现Offline MessagePush Notification

查看ejabberd_mod_offline_post

    首先配置 Room 必须是 Member-Only 房间,并在创建后立即将所有用户添加为成员,这样才能得到总数。 将上述模型添加到 ejabberd 模型中。 实现回调服务来处理回调帖子。

这个想法是当用户下线时:

在一对一的情况下,offline_message_hook 将被引发 在 MUC 情况下,将引发 muc_filter_message,并且任何不存在可用的人都处于脱机状态。

【讨论】:

以上是关于如何在 iOS 的后台线程中运行 XMPP Room Join & Invite 进程的主要内容,如果未能解决你的问题,请参考以下文章

iOS 后台和 XMPP 框架

如何让PhoneGap IOS插件在后台线程中运行

如何在ios中每n秒连续在后台线程中运行一个进程

在没有 VoIP iOS 的情况下保持 XMPP 套接字在后台活动

如何使用 Kotlin-Multiplatform 在 iOS 应用程序的后台线程中运行任务?

快速修复 Appestore 解决 XMPP iOS VoIP 后台执行拒绝