默认
发表评论 14
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
理论上你描述的问题不应该发生,而且这个异常基本不可能是你说的这种情况下发生的。

我建议你换成MINA版,用你同样的代码试试,看看MINA版什么效果,因为MINA版是久经考验的,可以用它来作参考基准,再来排查netty版的问题。
另外,建议你把Log贴的全面一点。

你按我说的来试试,然后有情况再贴出来,我会帮你看看
评论 14
引用:师傅不见了 发表于 2018-06-07 22:58
MINA 版也报同样的异常

[DEBUG] - [22:49:40.588]【IMCORE-本机QoS】【QoS发送方】=========== 消息发 ...

那肯定是另有原因,我怀疑你用的代码有不合理的地方。

你这样做:
1)把你自已加的或改的客户端端代码,贴出来,主要是跟demo相比,不同的地方;
2)参照1),同样把加的或动过的代码贴出来。

我帮你分析 分析 。用了这久,你的问题第一次看见,肯定有奇怪的地方。
引用:师傅不见了 发表于 2018-06-08 11:04
客户端我使用的是 MobileIMSDK >demos > client>  MobileIMSDKDemo-Java.jar 在mac 上直接点击运行的没做 ...

你的MobileIMSDK版本是多少?
按你设置的错误码,我专门帮你验证了一遍,没有任何问题(看我的第2张图里,表示已经正常拿到了服务端返回的码):
[已回复] MobileIMSDK服务端onVerifyUserCallBack()返回非0值,导致空指针异常?_1.png
[已回复] MobileIMSDK服务端onVerifyUserCallBack()返回非0值,导致空指针异常?_2.png
顺便问一句,你的客户端和服务端分别运行在什么版本的JDK上的?
引用:师傅不见了 发表于 2018-06-08 14:49
我这边是mac 自带的JDK  版本是  jdk1.8.0_161

JDK1.8不会有什么问题。

我建议你这样来排查:
1)把客户端demo和服务端demo一行代码一改,原样运行,看看在你这环境下能不能正常;
2)如果第1)步正常,则其它任何代码也别改,只把错误码改成10再来看看结果(这一次要注意一下客户端的log ,另外建议下次贴Log时把日志贴的全一点,不只是异常的那段。)

你重新下载最新版,不要用你现在的代码,就怕你不小心改过了但已记不起是否改过。
引用:师傅不见了 发表于 2018-06-08 18:12
重新下载了之后,一行代码不改直接运行 客户端和server 都是ok的

然后修改server 端  onVerifyUserCa ...

你看看这是我模拟你同样的错误码的服务端log,不会出现你那个异常:
[已回复] MobileIMSDK服务端onVerifyUserCallBack()返回非0值,导致空指针异常?_QQ截图20180608195826.png

所以你这个异常,真是费解。你可以用源码跟踪一下,看看为何会在你的环境下出现这个异常。但实际上这个异常不影响什么,因为你客户端的会话已经被关闭了,服务端的这些代码只是在清理这个会话所占用的资源,而实际上这个会话还没占用什么资源。

另外,我刚抽了2个小时时间,按照你报告的这个问题作了更健壮的代码优化,你可以下载最新版MobileIMSDK v3.3,你的环境下应该不会再报这个问题了,你试试看。

打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部