默认

[已回复] MobileIMSDK的onTransferMessage_RealTimeSendFaild回调总返回false?

查看数: 35193 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-03-22 14:08

正文摘要:

之前一直都是好的,不知道从哪一天开始,发现发送离线消息服务端总是报离线消息没有保存成功,但是实际上服务器确实收到了消息并且已经保存,对方上线的时候也拉到了离线消息。 但是由于服务器返回错误信息因此前端 ...

评论

JackJiang 发表于 3 年前
引用:TinyCaviar 发表于 2021-03-22 18:08
demo没问题,我在本地的运行也没问题,protocal的QoS都是true,我把这个QoS手动设置为true现在问题解决了 ...

实际上你帖子里描述的问题,应该跟qos参数没有关联。
我也没弄明白,你帖子里的问题为什么会出现,从正常逻辑来说,不应该出现,所以我怀疑是你的代码没有生效,但也没有证实到底是不是生效。

实际上你读一下sdk的源码,应该很容易理解这个方法的逻辑,一点也不复杂。我建议如果有兴趣的话,直接用sdk的源码,在你说的这种环境下调试一下,花不了多少时间
TinyCaviar 发表于 3 年前
引用:JackJiang 发表于 2021-03-22 17:50
很简单,你去下载原版的官方demo源码,你加一下log,在你同样的服务器环境下,看看它的表现是什么样。
...

demo没问题,我在本地的运行也没问题,protocal的QoS都是true,我把这个QoS手动设置为true现在问题解决了,但是没明白为什么为是false…学习学习源码…
十分感谢站长解答。
JackJiang 发表于 3 年前
引用:TinyCaviar 发表于 2021-03-22 15:39
第一张报错的图是我直接返回true之前的处理,它有我自己的输出的log的,就是倒数第三句“离线消息处理结 ...

很简单,你去下载原版的官方demo源码,你加一下log,在你同样的服务器环境下,看看它的表现是什么样。
从码云下载吧:https://gitee.com/jackjiang/MobileIMSDK,现在github国内上不去
TinyCaviar 发表于 3 年前
引用:JackJiang 发表于 2021-03-22 15:31
返回true就不会报这个log,你去取一下部署环境下的class文件,反编译一下,看看你的修改有没有生效。

原因是拿到的protocal的isQoS是false,可是前端SendCommonData不是默认将QoS设置为true的嘛…
我直接在这个方法里把它set为true,虽然没有这个log了,但是报了一个伪应答包发送失败
TinyCaviar 发表于 3 年前
引用:JackJiang 发表于 2021-03-22 15:31
返回true就不会报这个log,你去取一下部署环境下的class文件,反编译一下,看看你的修改有没有生效。

第一张报错的图是我直接返回true之前的处理,它有我自己的输出的log的,就是倒数第三句“离线消息处理结果 -- > true”,第二章报错没有我自己的log了,说明应该是生效了的,如果没有生效至少应该会有一句“离线消息处理出错”之类的呀…
JackJiang 发表于 3 年前
返回true就不会报这个log,你去取一下部署环境下的class文件,反编译一下,看看你的修改有没有生效。

返回顶部