请选择 进入手机版 | 继续访问电脑版

默认
发表评论 4
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
请教ios端的IM中,APP切换后台或从后台切换回来时,需不需要做处理?
请教一下IM系统整个使用流程是否正确:

登录APP,调用IM的登录,建立链接,当APP(ios)切换到后台,(这里是否需要调用注销登录?),APP再次从后台切换回前台,检查链接是否正常,如果链接已经断开则重新建立链接。


这个流程中,涉及到APP切换到后台的问题有两个:1、切换到后台是否要调用注销登录告诉服务器?2、是否从后台切换到前台之后,需要重新建立链接?

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

标签:IM开发
上一篇:请教web端IM聊天时,在什么时机提交消息的已读回执指令合适?下一篇:请教IM聊天通信过程中数据丢失的情况

本帖已收录至以下技术专辑

推荐方案
评论 4
切换到后台的过程中不需要做任何处理,你的app进程对于ios系统来说,相当于被暂停挂起了,等到APP回到前台时,你的im算法里只要将网络进行重连就可以了,以MobileIMSDK这个框架的ios端为例,它没有代码需要处理从前台回到后台,又从后台回到前台的情况,对于框架本身来说,只要它回到前台并运行中时,网络不通它就重连,管它是什么情况引起的,这样就不会让算法变的复杂。

不知我说的你是不是能理解。
签名: 《马蜂窝旅游网的IM客户端架构演进和实践总结》:http://www.52im.net/thread-2796-1-1.html
引用:JackJiang 发表于 2019-01-25 16:26
切换到后台的过程中不需要做任何处理,你的app进程对于ios系统来说,相当于被暂停挂起了,等到APP回到前台 ...

明白了,非常感谢
引用:二师兄 发表于 2019-01-25 16:42
明白了,非常感谢

不客气
签名: 《马蜂窝旅游网的IM客户端架构演进和实践总结》:http://www.52im.net/thread-2796-1-1.html
IM 需要做重连机制,这个是最基本的,检测到离线或者网络变化需要重连

退到后台IM 应用肯定是要开启后台任务的,也就是后台保活 3 分钟,如果不保活每次进来都要重登;
而且用户退到后台,再切换回来是很常规的动作,例如去微博 copy 一条消息,通过 IM 发送;

后台保活注意事项:
      在收到后台任务被挂起的时候,客户端需要做离线操作(主动 close socket), 如果不做离线操作,系统会保活当前的 socket 连接,导致服务器认为客户端依然在线,收到新消息时,不会发推送过来;     当然这取决于服务器是否有这个逻辑;





打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部