默认
发表评论 3
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] 求MobileIMSDK的app移动端与MobileIMSDK-Web端互通问题
我的使用场景,APP与APP之间通信的数据都是通过服务器中的onTransBuffer_C2C_CallBack和onTransBuffer_C2C_RealTimeSendFaild_CallBack做历史消息和离线消息存储,现在增加一个WEB端,IM服务器开启了桥接开关,发现APP与WEB通信相互通信时,两端能够相互通信,但是APP发给WEB的消息在服务器的onTransBuffer_C2C_CallBack事件中无法捕获,DEBUG后,发现并没有触发该事件,WEB端给移动端发消息时,该事件是触发的,我需要该事件存储历史消息,请告知是啥原因和对应的解决方案,谢谢。

补充测试的结果:
两台APP和一个WEB终端,如果一个APP离线了,WEB端给离线的APP发消息可以通过onTransBuffer_C2C_RealTimeSendFaild_CallBack获得,但是在线的的另一个APP给离线的APP发送消息,onTransBuffer_C2C_RealTimeSendFaild_CallBack该事件无法获得,看日志显示如下
客户端4_4不在线,数据[from:1_1,fp:746B07CD-95CF-48B8-8B81-910648AA24B8to:4_4,content:fff ] 将通过MQ直发Web服务端(彼时在线则通过web实时发送、否则通过Web端进行离线存储)【第一阶段APP+WEB跨机通信算法】


开启桥接后,APP与APP通信的离线消息,如何存储。谢谢

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

上一篇:[已回复]Android端同手机两应用一起使用则无法登录,提示:数据发送失败,代码3下一篇:[已解决] 求教 iOS 版MobileIMSDK在哪里知道发送的消息超时未成功送达的?

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

推荐方案
评论 3
版本号都是3.3,app与app通信,不管是否开启桥接,都在线时, 双方发消息都会通过onTransBuffer_C2C_CallBack该事件捕获,开启桥接时,有一个APP不在线,会自动转发至队列处理,如果转发至队列处理,如何捕获并存至数据库。还有APP给在线的WEB端发送信息,WEB端可以收到消息,但是onTransBuffer_C2C_CallBack该事件无法捕获,产生如下日志:


客户端9_9不在线,数据[from:1_1,fp:7BBFDCF3-532E-43B4-A04C-BD7AF2ECA649to:9_9,content:tug] 将通过MQ直发Web服务端(彼时在线则通过web实时发送、否则通过Web端进行离线存储)【第一阶段APP+WEB跨机通信算法】! | (GlobalSendHelper^sendDataC2C:78)
[INFO] - [15:01:58.264][IMMQ-↑] - [startPublisher()中] publish()成功了 !(数据:,q_app2web,{"bridge":false,"type":2,"dataContent":"tug","from":"1_1","to":"9_9","fp":"7BBFDCF3-532E-43B4-A04C-BD7AF2ECA649","QoS":true,"typeu":-1}) | (MQProvider^publish:420)
[DEBUG] - [15:01:58.265][IMCORE-netty<C2C>-桥接↑]>> 客户端{uid:1_1}/192.168.0.32:7801的数据已跨机器送出成功【OK】。(数据[from:1_1,fp:7BBFDCF3-532E-43B4-A04C-BD7AF2ECA649,to:9_9,content:tug]【第一阶段APP+WEB跨机通信算法】) | (GlobalSendHelper^sendDataC2C:98)
[DEBUG] - [15:01:58.267][IMCORE-netty<C2C>-桥接↑]【QoS_伪应答_C2S】向1_1发送7BBFDCF3-532E-43B4-A04C-BD7AF2ECA649的伪应答包成功,伪装from自:9_9【第一阶段APP+WEB跨机通信算法】. | (GlobalSendHelper$1^u
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部