目前有一个模块要做,就是同步消息,其中的问题就是说,程序在后台的时候,网络连接断了,直到下次连接上网络之前,很多推送的消息会丢失,所以,要同步这段时间的消息
但是现在程序从后台回来之后,我们怎么能够知道程序在后台的时候断过网,有可能有消息丢失了,需要同步、
(ps:在前台和后台正常连接网络的情况下,消息都能正常送达,只是考虑后台断网的情况)
我们能够获取哪些信息,来判断当前网络是断过的,是重新连接回来的,或解决这个问题有没有别的思路,求各位帮忙指点,先谢过大家
但是现在程序从后台回来之后,我们怎么能够知道程序在后台的时候断过网,有可能有消息丢失了,需要同步、
(ps:在前台和后台正常连接网络的情况下,消息都能正常送达,只是考虑后台断网的情况)
我们能够获取哪些信息,来判断当前网络是断过的,是重新连接回来的,或解决这个问题有没有别的思路,求各位帮忙指点,先谢过大家
解决方案
35
你消息同步的机制设计上有问题,不应该判断网络能否有断过,很少应用会这么干
你应该每个消息有个标志位,标志能否已经同步过了
或简单一点作法就是你本地存储一个最后获取消息的时间,然后每次去服务器端获取大于这个时间的消息,就是你没获取过的.
你应该每个消息有个标志位,标志能否已经同步过了
或简单一点作法就是你本地存储一个最后获取消息的时间,然后每次去服务器端获取大于这个时间的消息,就是你没获取过的.
5
是的,就楼上说的那样,不能根据网络能否断过去取数据。
服务器上面要有标志位,说明哪些数据已经推送过给某人了,哪些还没有推送。
服务器上面要有标志位,说明哪些数据已经推送过给某人了,哪些还没有推送。
5
是的,这个还是服务器和客户端一起来处理,客户端记录最后获取的消息,到服务器去查询还没有推送的消息