默认
发表评论 11
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
你贴的这么点log看不出来什么。

你需要把以下4 样东西抓出来,我就能帮你看看了在调用1008-1-23接口前,请先把服务端、客户端log全部清空一下,等一会要干净的抓出接下来的log):
  • 1)调用这个接口后的客户端完整log(一行都不要缺,不要掐头去尾);
  • 2)调用这个接口后的服务端端完整log(一行都不要缺,不要掐头去尾);
  • 3)服务端这个完整的case语句对应的代码(越全越好,不要只贴一点点);
  • 4)客户端调用这个接口的代码,以及这个接口的客户端实现代码。

评论 11
你贴的信息里,客户端的log不全,而且你把RainbowChat进程之外的log也抓出来,而它本身的log你几乎没有抓到。因为你说的客户报错,在log里一行都没体现出来。

所以,你要做的是:
  • 1)把服务端的代码全部注释掉,造一个静态的对象,看看return的值在客户端能不能收到,目的是排除你那一大砣httpclient调用外网的接口的逻辑干扰;
  • 2)一定要想办法把客户端的log抓出来,因为界面上的错误都会对应控制台下的异常信息,你要排除干扰抓出有用信息。

理论上这么多接口,你对着任何一个照葫芦画瓢不可能出问题。我建议你把客户端的调用代码和服务端的调用原理都看看,这样就能做到心中有数。

另外,正常情况下,服务端的接口返回,如果你指明了return值,都会有一个"returnValue"字段,你的却没有这个字段(而你的代码里明明有return了一个Json.toString),这也是一个奇怪的地方,你要追查一下为什么,以下是一个真常接口返回结果,仅供参考:
[DEBUG] - [18/09/03 22:13:40.641]【<== 处理完成-返回JSON结果】:{"success":true,"returnValue":"[{\"online\":false,\"user_uid\":\"400069\",\"user_mail\":\"jb2011@163.com\",\"nickname\":\"Jack Jiang\",\"user_sex\":\"1\",\"liveStatus\":0,\"man\":true,\"userAvatarFileName\":\"a.jpg\",\"whatsUp\":\"爱情原如树叶一样,在人忽视里绿了,在忍耐里露出蓓蕾。\"},{\"online\":false,\"user_uid\":\"400070\",\"user_mail\":\"413980957@qq.com\",\"nickname\":\"Lily Sala\",\"user_sex\":\"0\",\"liveStatus\":0,\"man\":false,\"userAvatarFileName\":\"a.jpg\",\"whatsUp\":\"今天好冷,温度只有几度!\"}]"} | (MyControllerJSON^sendToClient:345)
引用:freeman 发表于 2018-09-09 00:11
故障点大致找到了
服务端
                                System.out.println("aaaaa");//测试

很有可能就是这个原因吧,不然代码不可能走不下去。httpclient现在都用的不多了吧,你去用okhttp吧
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部