默认
发表评论 4
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] 求助RainbowChatServer和MobileIMSDK-Web的demo互通
阅读(32625) | 评论(4 收藏 淘帖
rainbowchatserver和这个web-demo的互通:
android登录400077, web登录400094

web-android: 没有显示消息到rainbowchat app端上, server打印日志:
[INFO] - [10:34:57.313][IMMQ-↓] - [startWorker()中] 收到一条新消息(routingKey=q_web2app,contentType=null,consumerTag=amq.ctag-60rt6P2GUCwMdmom8_xNfQ,deliveryTag=2),马上开始处理。。。。 | (MQProvider$4^handleDelivery:477)
[INFO] - [10:34:57.314][IMCORE-桥接↓] - [startWorker()中] 收到异构服务器的原始 msg:{"type":"2","from":"400094","to":"400077","dataContent":"ghjj","fp":"d2fc4fa0-088a-11e8-8821-61438a4828a1","typeu":-1,"msgTime":null}, 即时进行解析并桥接转发(给接收者)... | (BridgeProcessor^work:62)
[INFO] - [10:34:57.316][IMCORE]toSession==null >> id=400094的用户尝试发给客户端400077的消息:str=ghjj因接收方的id已不在线,此次实时发送没有继续(此消息应考虑作离线处理哦).

是否是由于rainbowchat有一个判断是否在线的机制导致消息没有从server推送到android端?(但是我android端400077是在线的)

android端发送web端:
web页面上能看到发送的消息,但格式不对,把发送接收方也显示出来了:
{"f":"400077","m":"fggh","t":"400094","ty":0}

web与rainbowchat互通消息是否还需要改动其他代码?

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

上一篇:RainbowChat开发文档(一):服务端部署手册(PDF导出图片)下一篇:RainbowChat[标准版] 的v4.2版已发布!
推荐方案
评论 4
引用:messi123 发表于 2018-02-03 15:40
android端收到消息了,typeu 改为MT03_OF_CHATTING_MESSAGE(3)

是的,如果你不确定协议内容,你可以参考IM协议手册,也可以把app这边的协议样本打印出来对照就可以了。
引用:JackJiang 发表于 2018-02-03 12:31
" - [10:34:57.314] - [startWorker()中] 收到异构服务器的原始 msg:{"type":"2","from":"400094","to": ...

android端收到消息了,typeu 改为MT03_OF_CHATTING_MESSAGE(3)
引用:JackJiang 发表于 2018-02-03 12:31
" - [10:34:57.314] - [startWorker()中] 收到异构服务器的原始 msg:{"type":"2","from":"400094","to": ...

android端收到消息了,typeu 改为MT03_OF_CHATTING_MESSAGE(3)

"[INFO] - [10:34:57.314][IMCORE-桥接↓] - [startWorker()中] 收到异构服务器的原始 msg:{"type":"2","from":"400094","to":"400077","dataContent":"ghjj","fp":"d2fc4fa0-088a-11e8-8821-61438a4828a1","typeu":-1,"msgTime":null}, 即时进行解析并桥接转发(给接收者)... | (BridgeProcessor^work:62)"

上面这条日志是在RainbowChatServer这边输出的对吧?如果是这样,表示你的互通配置都ok了,数据已经正常交互了。

至于为什么400077界面上显示不出来,这有两个原因,你需要接着处理:

  • 1)收到的“{"type":"2","from":"400094","to":"400077","dataContent":"ghjj","fp":"d2fc4fa0-088a-11e8-8821-61438a4828a1","typeu":-1,"msgTime":null}”这个数据,只是MobileIMSDK-Web的最初始协议,而RainbowChat中已经在其基础了进行了扩展,比如这typeu字段肯定不是-1。建议你在RainbowChatServer这边,把一条普通的聊天消息的完整JSON打印出来,对比一下就明白了;
  • 2)RainbowChatServer这边为何判定400077不在线,我认为肯定另有原因,你一步步来,先解决第1个问题后,再来纠结第2个问题,不要乱。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部