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

默认
发表评论 3
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] MobileIMSDK离线消息排序错乱的问题
问题描述
1.A 用户发消息给B 用户,
2.A用户发送的八条消息为
111,
222,
333,
444,
555,
666,
777,
888
3.此时关闭B 用户的网络,或者开启飞行模式,
4.服务器端,我在LocalSendHelper 里面标记了服务器的时间,
5.但是 因为sdk 默认的qos 的机制是true 打开的,此时我发现,LocalSendHelper 里面的方法再次调用导致我把消息时间又重新标记了一下,也就是这时候消息给乱掉了
6.此时B 用户接收到时和A 用户发送消息的顺序不一致的,也就是这种情况下导致了乱码,我看了一下代码,应该是qos 做消息重发的时候把时间给弄乱掉了
这一块的目前我不清楚该如何处理了

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

标签:MobileIMSDK
上一篇:[已回复] 请问下MobileIMSDK怎么收发文件类型的??下一篇:[已回复] 调用MobileIMSDK登录方法时 底层报错?

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

推荐方案
评论 3
你可以看下我在这个贴子里的回复:
IM 即时通讯中怎么保证消息顺序?

另外,你A给B发消息,不需要服务端的LocalSendHelper来手动转发,直接客户端就能直发,你为何是这样用?
引用:JackJiang 发表于 2017-11-09 16:06
你可以看下我在这个贴子里的回复:
《IM 即时通讯中怎么保证消息顺序?》

我看了一下,我们项目其实没有那么庞大和复杂,也没有搞分布式的,我们使用的就是一个单机的服务器。所以我觉得策略上应该没有你给的链接这么复杂
我唯一搞不明白的地方是qos 的机制的消息缓存数据的时候是乱序的,不是按照发送的顺序来的。
引用:Micheal.C 发表于 2017-11-09 16:41
我看了一下,我们项目其实没有那么庞大和复杂,也没有搞分布式的,我们使用的就是一个单机的服务器。所以 ...

你没有回答我这个问题“你A给B发消息,不需要服务端的LocalSendHelper来手动转发,直接客户端就能直发,你为何是这样用?”
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部