客户端突然断网, clientOffline 没有触发, 当重新联网后服务器先收到clientOffline hook 然后又收到_clientOnline hook这样服务器无法更新用户状态
能详细描述下问题吗?比如突然断网又重新联网之间的间隔时间有多久?这是偶发现象还是一直能够复现?
断网大概1~2分钟后app端会提示网络错误, 并且这个问题是必现的android sdk: 5.0.26
您好,客户端断网后,需要过一段时间服务器才会因为感知到连接超时,然后调用 hook,所以实际可能会有 1-2 分钟的延迟。
实际并不是这样的, 客户端提示网络超时但是hook 任没有调用, 只有当再次联网是才会收到hook
和您确认一下问题,客户端提示网络错误后,_clientOffline hook 没有触发,然后客户端再次联网,这时先触发 _clientOffline hook,然后接着触发 _clientOnline hook?
_clientOffline
_clientOnline
那么从客户端提示网络错误后,到客户端再次联网间隔多久?客户端再次联网后,_clientOffline 和 _clientOnline 是先后触发的吗?如果是先后触发的话,之间间隔多久?
断网后再次联网先触发_clientOffline 在触发_clientOnline, 断网1~2分钟后客户端提示网络错误, 联网后两个hook是连着触发的间隔事件很短
您好,客户端突然断网的时候服务器无法感知到连接断开,只有等待一定超时时间后才能判断客户端真的断线,才会触发 _clientOffline,所以对断网场景是无法做到立即触发 Hook 的。网络重建后,服务端感知到客户端连接断开才会触发 _clientOffline Hook。等客户端连接建立完成后,再触发 _clientOnline。所以您描述的行为是合理的。