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

默认
发表评论 4
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] 求助RainbowChat IM的APP和web消息同步等功能的实现疑问
正在做APP端和web代码整合工作,发现有点难度
             1:做消息同步时,以单聊为例,假设我在APP端登陆,发送一条消息,通过服务器转发给聊天对象,同时为了保证web端也能消息同步,我是否需要同时分发给自己的web端,对方的web端和APP端(假设登陆,如未登录是否需要存离线消息表(意思是是否要将这条消息存3条离线数据)),以此类推到群聊消息上面
             2:在进行代码整合时,发现有MycontrollerJsonMycontrollerJsonP,请问,加入我通过web登陆,是进入前一个的登陆验证还是后一个登陆验证,两个有什么差别
             3:对于APP+web这种做法,要做到多端登陆,是否在missu_users这张表中,是否要讲device_info切分成两个字段,一个用来存储app的device_info,一个用来存储web的浏览器device_Info
             4:在web聊天中,如果我撤回一条消息,可以发送一个QOS高速APP端该消息已撤回,但web端怎么知道呢
—————————————————————————————————————————————————————
暂时就这么多问题,希望有大神能帮忙解答一下,万分感谢


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

上一篇:[已解决] 求助基于RainbowChat定制的im,群聊修改出的一些问题下一篇:[已回复] 求助rainbowchat中如何自定义一个聊天消息(红包功能)
推荐方案
评论 4
1)你的思路是错的,做多端消息同步时,离线消息只需要存一份,每个端按存最近的拉取时间,下次拉取时,只需要取这个时间之后的所有消息。

2)MyControllerJSON是给APP端调用的,MyControllerJSONP是给web端调用的,别搞混了。

3)多端登陆是在通信底层做文章,你需要抽时间多研究一下sdk这一层: https://github.com/JackJiang2011/MobileIMSDK

4)消息撤回功能,你应该为它新增一条指令,详见:http://www.52im.net/thread-2701-1-1.html,帖子2楼的回复。
签名: 《零基础IM开发入门(三):什么是IM系统的可靠性?》http://www.52im.net/thread-3182-1-1.html
还是第一个问题,如果对方APP和web都是在线状态下,该怎么又服务端发送消息呢,是发送QOS通知还是怎么发送,如果APP或者web有一端在线,那么又是另一种情况,是否是既要发送消息,又要存储离线消息吗?
引用:流离 发表于 2020-05-27 14:09
还是第一个问题,如果对方APP和web都是在线状态下,该怎么又服务端发送消息呢,是发送QOS通知还是怎么发送 ...

如果对方在线的情况下,现在的sdk层逻辑是:当对方在app或web服务端时,只发送一处,你在sdk里改成,不管在不在本地,你都发。

按你的需求,离线消息就没有意义了,无所谓离不离线了(你自已仔细体会一下),直接利用聊天记录哪,反正无论哪个端发的消息都会存聊天记录,这个是全量的。
签名: 《零基础IM开发入门(三):什么是IM系统的可靠性?》http://www.52im.net/thread-3182-1-1.html
还有个问题啊,就是在结合了web版本的聊天中,如果APP对离线聊天,那么在 “ServerLauncher.bridgeEnabled = true;”时,APP端发送的是否也要通过rabbitmq来进行发送消息吗?
——————————————————————————————————————————————
服务台console:
--------[INFO] - [16:30:19.182][IMMQ-↑] - [startPublisher()中] publish()成功了 !(?据:,q_app2web,{"bridge":false,"type":2,"dataContent":"{\"t\":\"102557\",\"cy\":0,\"m\":\"LIa+92Uc8rUQMFvAJvrLIQ\u003d\u003d\",\"ty\":0,\"timestamp\":\"1590654619198\",\"f\":\"102523\"}","from":"102523","to":"102557","fp":"2CC61B1C-CB74-4B9B-9CF0-BEE2788712DD","QoS":true,"typeu":3}) | (MQProvider.publish:420)-------
————————————————————————————————————————————
因为我发送离线消息时,发现和以前不集成web聊天部分的离线聊天有点不同,有点被搞糊涂了
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部