tcp的特性,在长时间没有通信时,操作系统可能会自动对tcp连接进行销毁并且可能没有close事件提示,所以我们在websocket中提供了ping的命令,该命令发起后,服务器将响应pong,完成一次通信...msg":"","flagId":111}`
服务器将响应:
`{"op":1000,"args":[],"msg":"ok","msgType":1,"flagId":111}`
每次重新连接websocket...接口登录获得授权
- 通过授权请求http接口获得好友列表,不同好友的最后一条未读消息以及未读消息数(用于首页显示)
- 通过授权请求获得群列表(群消息为了节省存储空间没有做已读未读)
- 建立ws链接...- 注册断线重连机制,当触发close事件时,重连ws
- 建立ping定时器,每隔30秒进行一次ping
- 通过ws接口,获得所有未读消息,客户端进行处理,推送到通知栏等
- 接收新消息推送,并显示到消息列表...,显示红色感叹号,提示用户重发
当服务端响应成功时,将取消这个定时器,并直接将消息置为发送成功状态
本文为仙士可原创文章,转载无需和我联系,但请注明来自仙士可博客www.php20.cn