默认
发表评论 7
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
求教IM-web端聊天消息单聊群聊分类错误
阅读(30741) | 评论(7 收藏 淘帖
在进行web端与手机端聊天测试时候出现以下问题,在进行web与手机端聊天时,单对单和群聊消息的第一条消息发送的是群聊,后面的都是单人聊天消息,而且只要手机端不登录,除了第一条消息,剩下的都是单对单聊天,一旦登陆过后,第一条必定变成群聊消息

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

标签:客户端
上一篇:求助IM推送服务端pushy库报错的问题,完全没有头绪下一篇:跟着源码学IM(六):手把手教你用Go快速搭建高性能、可扩展的IM系统
推荐方案
评论 7
你这问题描述的好绕,你把逻辑理清楚,言简意赅地描述一下,不然我理解很蒙逼。。
引用:JackJiang 发表于 2020-04-22 21:57
你这问题描述的好绕,你把逻辑理清楚,言简意赅地描述一下,不然我理解很蒙逼。。

就是web端登陆后,向手机端发送消息,有如下情况
1:当手机端登陆状态,可正常聊天
2:当手机端离线状态,会有如下两种情况:
              (1):web发送第一条消息时,服务端收到的“chat_type”是2(群聊)
              (2):web端发送第二条消息:
                                       <1>:如果手机端未打开,即继续处于离线状态,则接收到的“chat_type”是0(单聊)
                                       <2>:如果手机端登陆,且再次离线,会重复上述的过程,第一条群聊,后续单聊
———————————————————————————————————————————————
总结来看:当接收端离线状态,收到的第一条数据永远是群聊消息,第二条往后都是单聊消息,当接收端登陆后再次离线,则会重复上述情况。群聊消息也是此情况,第一条正常,后面都变成单聊消息
引用:流离 发表于 2020-04-23 08:23
就是web端登陆后,向手机端发送消息,有如下情况
1:当手机端登陆状态,可正常聊天
2:当手机端离线状 ...

你有原版的代码吗?原版代码里,不存在你说的这个逻辑。你们做了这么久,应该定制了很多内容,你接手的时候是否了解都改动了哪些?有没有人配合你分析?
引用:JackJiang 发表于 2020-04-23 10:29
你有原版的代码吗?原版代码里,不存在你说的这个逻辑。你们做了这么久,应该定制了很多内容,你接手的时 ...

web发送第一条消息时进入后台的接口是ChatServerEventListener.onTransBuffer_C2C_CallBack接口,然后消息类型变成群聊消息,后面进入的接口都是ChatServerEventListener.onTransBuffer_C2C_RealTimeSendFaild_CallBack接口,消息类型都是单聊消息,有点捉摸不透
引用:流离 发表于 2020-04-23 16:00
web发送第一条消息时进入后台的接口是ChatServerEventListener.onTransBuffer_C2C_CallBack接口,然后消 ...

我看你说了两遍,逻辑太绕了。  聊天消息类型,主要是chatType这个字段,你对比一下每一步的log(没有输出,你就加一下log),看看是在哪一步变的,然后反向去排查。你最好能搞一个log对比,清晰地把问题暴露出来。
像你这种情况,代码迭代了这么多,如果没有清晰的log或问题描述,我在远程其实是很难帮你猜的出来问题出在哪里。
引用:JackJiang 发表于 2020-04-23 17:22
我看你说了两遍,逻辑太绕了。  聊天消息类型,主要是chatType这个字段,你对比一下每一步的log(没有输 ...

找到位置了,就是第一次聊天时候,会进入messagesLost这个接口,在进之前chat_type没有值,但是出来之后chat_type变成2,而第二次发送消息时候没有进入到这个地方,直接进入了processOfflineMessage这个接口,chat_type手动掷为0,群聊也是这样,第一次进入messagesLost,后面都进入processOfflineMessage
引用:流离 发表于 2020-04-24 09:38
找到位置了,就是第一次聊天时候,会进入messagesLost这个接口,在进之前chat_type没有值,但是出来之后c ...

好的,你多加一些log追踪一下。

因为没有看到你们的实际代码,我实际上没有什么依据可以帮你进行诊断,干着急也没有更好的建议。
实在搞不定了你再说,我再帮你想别的办法。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部