默认
打赏 发表评论 36
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
楼主不知我这个思路对不对,主要是跟多端登陆时消息同步跟离线的拉取有点疑问
1、PC、phone可以同时登陆,另外安卓和苹果只能同时在线一个
2、假如PC端登陆在线的,phone端登陆不必再拉取离线,只做多端消息同步(根据本地的消息id与服务端id比较)
3、主要疑问:假如客户端在安卓登陆有收发一些消息,然后退出登录,之后再到苹果登录,同时在退出到苹果登录期间有离线消息,此时登录的苹果设备要拉取离线消息和多端消息同步两个都要做,这部分的处理感觉不好,毕竟离线消息被包含在要做的多端同步消息里了
4、多端同步的依据是根据本地的id做比较,服务器生成消息id,对于发送方发送的消息存到本地是没有id的,后续做多端同步可能会出现重复的消息
评论 36
引用:JackJiang 发表于 2018-09-28 18:45
1、2两点基本上理解是对的。

3、不需要区分什么离线还是多端,反正大于本地消息id或时间戳的就拉下来 ...

如果这样说的话,要考虑多端同步的问题,客户端登录之后是不用拉取离线消息,只需消息同步就行了?
引用:JackJiang 发表于 2018-09-29 09:51
同步跟离线在这里已经没有区别了。。。

还有就是 目前消息表分成单聊、群聊,通知类消息(好友申请,同意添加。。。)也是存贮在这两个表中,如果做多端同步的话,理所应当要限制某段时间内或者消息条数,但是按目前这样做法,那些好友列表,群相关类似这类数据如果在另外一端没拉取到通知消息(在限制范围之外)就不会做接下去的逻辑操作(新增好友,群成员等等)
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部