默认
发表评论 1
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] 求教MobileIMSDK中IM离线消息处理方法
请教一下,我在onTransBuffer_C2C_RealTimeSendFaild_CallBack方法中把离线消息保存起来 [已回复] 求教MobileIMSDK中IM离线消息处理方法_2017-09-11_183606.png ,在onUserLoginAction_CallBack方法中用户登录的时候 [已回复] 求教MobileIMSDK中IM离线消息处理方法_2017-09-11_183646.png ,sendData()方法返回true,但是在客户端却收不到信息,如果我在调用sendData()方法前调用sleep()睡一会,客户端就可以接收到消息了,请问这是怎么回事啊?

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

标签:MobileIMSDK
上一篇:[已回复] MobileIMSDK服务端控制台不显示debug内容下一篇:[已解决] 使用安卓端MobileIMSDK,退出时总报socket closed异常,这什么情况?

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

推荐方案
评论 1
先就你的代码来讨论:
因为客户端还没完成登陆逻辑(这个回调还没完成呢),你的服务端就开始sendData,肯定是收不到的。

再来说说你这样实现离线消息是否合理:
现在主流的移动端IM都是先把离线消息存储起来(存到DB或redis中),等到客户端登陆时再使用http来“拉”,因为使用了http这样的通用协议,无论是客户端还是服务端,代码都简单太多了,而且未来的性能负载、业务扩展都会容易多了。所以,虽然这样做是可以实现离线消息的发送,仩你应该反思一下你的实现是否是最佳实践。

另外,建议你有时间的话可以系统地看看以下几篇文章,对你的理解会有很大帮助:
IM消息送达保证机制实现(一):保证在线实时消息的可靠投递
IM消息送达保证机制实现(二):保证离线消息的可靠投递
如何保证IM实时消息的“时序性”与“一致性”?
一个低成本确保IM消息时序的方法探讨
IM单聊和群聊中的在线状态同步应该用“推”还是“拉”?
IM群聊消息如此复杂,如何保证不丢不重?
谈谈移动端 IM 开发中登录请求的优化
移动端IM登录时拉取数据如何作到省流量?
浅谈移动端IM的多点登陆和消息漫游原理
完全自已开发的IM该如何设计“失败重试”机制?
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部