关于消息丢失的问题

tpuser12 21天前 131

向用户1发送了三条消息,它在当前设备只收到第1条消息,后面两条消息丢失了,但是在一个新的设备登录,就能完整收取到这三条消息

这种情况是不是说明当前设备在拉取远程消息到app本地缓存时出问题了,导致app本地缓存没有缓存到后面两条消息,这个时候是不是只要强制刷新一下app本地缓存(或者说强制拉取一下远程消息),就能再次获取到丢失的消息?

最新回复 (5)
  • HeavyRain 21天前
    引用 2
    用最新的IM服务和客户端测试看看,以前也没有听说过丢消息的情况啊
  • HeavyRain 21天前
    引用 3
    没有强制拉取消息的接口,协议栈内部有收取消息的逻辑。你们有没有修改过IM服务或者客户端协议栈?
  • tpuser12 21天前
    引用 4
    协议栈代码肯定不会修改啊

    不是有一个方法叫getMessagesFromServer,这个难道不是从im-server拉取消息吗?

    im-server会确保消息在app端成功接收并缓存起来吗?
  • HeavyRain 21天前
    引用 5
    没有getMessagesFromServer这个方法,请确认你们要用IM服务和协议栈都未修改的版本来测试看看
  • tpuser12 20天前
    引用 6
    我知道了,getMessagesFromServer是demo里面封装的一个方法,在方法里面会去调用sdk的方法

     public void getRemoteMessages(Conversation conversation, List<Integer> contentTypes, long beforeMessageUid, int count, GetRemoteMessageCallback callback)

    通过这个方法拉取到消息后,再同步到app本地缓存,是不是就可以保证app的本地缓存与im-server的消息一致性了?
返回