客户端已经建立好长连,服务端身份识别也是ok,所以状态都确认ok了,但接口请求却得不到数据是什么原因,还要重新登录一次才正常

风里希
1700 3 0
3个回答

marsColin

1、在服务端的onXX方法里面打印,看这些回调是不是都执行了
2、客户端这边抓包,看和服务端的交互
3、确定你服务端的防火墙啊,端口是不是正常的
PS:不知道服务端身份识别也是ok 这个是啥意思

  • 暂无评论
风里希

我的客户端登录逻辑是检查本地是否有token信息,有则建立长连,开始自动登录。长连建立后,需要确认用户身份,携带token进行一次身份确认,确认了用户身份后会绑定用户的clientid到uid,这些都完成了之后向客户端推送身份确认结果,而客户端的拿到了这个确认结果之后才开始初始化客户端的用户信息,只是这些都ok了,长连依然会在某次自动登录过后发送长连数据请求得不到响应

  • marsColin 2019-11-30

    确认客户端状态一直是长连接?一般长连接都会有个心跳的。主要就是为了规避网络异常。看来你这个某次应该是长连接一段时间后再发请求就不行吗,我怀疑是你客户端实际已经断开了,但是你还不知道

  • 风里希 2019-11-30

    @5081:是在自动登录的时候出现的,就是我突然在某个时候打开了app,app开始自动登录,这个过程中会发生断开么

  • marsColin 2019-11-30

    如果你的长连接没有心跳,那么网络出现异常的情况下,其实是断开的,建议实现客户端服务器心跳,然后客户端这边做重连处理

  • 风里希 2019-11-30

    @5081:这个办法应该可以,谢谢^_^

  • 风里希 2019-11-30

    @5081:我现在心跳是服务端发起的,我改成客户端发起试试

风里希

找到原因了,原来是因为长连接的关系导致数据库连接断开了。总算查到原因了 ^_^.

  • 暂无评论
年代过于久远,无法发表回答
×
🔝