Toggle navigation
Toggle navigation
This project
Loading...
Sign in
liuming
/
developer-docs
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
echo
2016-05-25 19:34:40 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
38a7a971621c55d323eb2aa67b4c54ac3cec95e4
38a7a971
1 parent
dbaaf787
Updated 关于用户掉线的处理机制 (markdown)
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
15 deletions
关于用户掉线的处理机制.md
关于用户掉线的处理机制.md
View file @
38a7a97
...
...
@@ -13,14 +13,16 @@
*
接收方设定对方的生存时间为30秒(暂定),开始倒计时,
*
倒计时一旦结束,则认为对方处于offline的状态,或者本方的网络出了问题,给予提示。
*
每收到一次心跳或者一次来自对方的消息,则把对方生存时长重置为30秒,重新启动倒计时。
*
如果检测到对方是从离线状态恢复到在线状态,在提示当前用户,对方已经恢复在线。
```
由于断线造成联络的中断,状态信息都在内存中。
由于崩溃退出,再次进入需要读取缓存的信息。
```
##### 关于中断的检查
*
任何一方超过规定时间后没有检测到心跳,都会提示连接中断
*
检测本地网络连接,如果本地网络正常,则记录中断原因不是由于自己造成的,如果本地网络不通,则记录中断原因是自己造成的。
*
提示连接中断后,本地会启动5分钟倒计时,时间到了之后上报给服务器,此次上课有问题,同时退出课程。
*
如果在连接中断5分钟之内,心跳恢复,则停止5分钟倒计时
*
心跳恢复后,如果中断原因是自己造成的,则尝试进行师生端的页面同步
*
心跳恢复后,提示重新连接成功。
*
如果是由于崩溃退出
#### 由于崩溃退出的处理
```
需要把当前的在线授课状态信息持久化(正常退出课程的时候进行清理)
客户端再次进入后,检查是否存在授课缓存文件,如果存在,则提示,您有一个进行中的课程,是否需要进入
...
...
@@ -39,15 +41,6 @@
*
推送信息的保存(学生端保存,里面包含了公共群Id,聊天室Id)
*
通讯所需的公共群Id,聊天室Id的保存(教师端)
##在线授课然后再恢复页面同步处理
##### 关于中断的检查
*
任何一方超过规定时间后没有检测到心跳,都会提示连接中断
*
检测本地网络连接,如果本地网络正常,则记录中断原因不是由于自己造成的,如果本地网络不通,则记录中断原因是自己造成的。
*
提示连接中断后,本地会启动5分钟倒计时,时间到了之后上报给服务器,此次上课有问题。
*
如果在连接中断5分钟之内,心跳恢复,则停止5分钟倒计时
*
心跳恢复后,如果中断原因是自己造成的,则尝试进行师生端的页面同步
###### 关于客户端从断线状态恢复
客户端先向服务器询问此次课程可以恢复,如果可以则进行以下的恢复动作,如果不可以,则提示用户,课程已经结束,同时退出在线授课状态。
...
...
Please
register
or
login
to post a comment