Skip to content

Instantly share code, notes, and snippets.

@stableShip
Created April 6, 2016 08:00
Show Gist options
  • Save stableShip/bf620ebf0b5eb6f1b8f04ba35edb32ae to your computer and use it in GitHub Desktop.
Save stableShip/bf620ebf0b5eb6f1b8f04ba35edb32ae to your computer and use it in GitHub Desktop.
socket连接通讯错误
## socket连接通讯错误
### 问题描述:
一个网页医生端登陆一个账号
一个居民端登陆一个账号
使用另一个手机医生端登陆之前的医生账号,网页端有异地提示
再网页医生端重新登陆,手机端有异地提示
再使用手机医生端重新登陆,没有异地提示,为什么?
居民发送消息,也不会在最新登陆的医生显示,而在之前的医生那里,为什么???
### 测试流程
1. 重现了上述的操作,发现问题确实存在.
在网页客户端`F12 ->console -> 输入 localStorage.debug="*" 回车`重新刷新页面,查看了socketio的输出日志.网页端所有日志都很正常.
2. 尝试使用两个网页医生端进行情况复现,n次重试,没有发现该问题.猜测是客户端没有发送socketio的`C2S_REGISTER_REQ :注册身份请求`
3. ssh登陆服务器,使用`tail -f server |grep --line-buffer 'conn\[' 命令实时输出`C2S_REGISTER_REQ :注册身份请求`日志信息,重复第一步骤,发现客户端第二次登陆时,没有发送`C2S_REGISTER_REQ :注册身份请求`请求,发现问题所在
4. 和客户端说明
5. 使用ios端进行了测试,没有问题
### 相关日志
用户id:5513723d664316347dc42ffc
```
安卓客户端第一次登陆,成功发送C2S_REGISTER_REQ消息:
[2016-03-30 17:19:32.845] [INFO] sq580 - conn[nCCO2EtW5XEJjncUAAEg] =>{"type":1,"data":{"type":"doctor","uid":"5513723d664316347dc42ffc","deviceid":"13065ffa4e0b2a9dc77"}}
网页端登陆,成功发送C2S_REGISTER_REQ消息:
[2016-03-30 17:19:46.686] [INFO] sq580 - conn[ZUtPAvD_YkO90YOCAAEL] =>{"type":1,"data":{"type":"doctor","uid":"5513723d664316347dc42ffc","deviceid":null}}
...
等了好久没有收到安卓客户端的C2S_REGISTER_REQ消息.
网页端注销后再次登陆,成功发送C2S_REGISTER_REQ消息:
[2016-03-30 17:19:53.265] [INFO] sq580 - conn[tsyOFFNDImNyfiXUAADz] =>{"type":1,"data":{"type":"doctor","uid":"5513723d664316347dc42ffc","deviceid":null}}
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment