echo

Updated 关于用户掉线的处理机制 (markdown)

... ... @@ -13,14 +13,16 @@
* 接收方设定对方的生存时间为30秒(暂定),开始倒计时,
* 倒计时一旦结束,则认为对方处于offline的状态,或者本方的网络出了问题,给予提示。
* 每收到一次心跳或者一次来自对方的消息,则把对方生存时长重置为30秒,重新启动倒计时。
* 如果检测到对方是从离线状态恢复到在线状态,在提示当前用户,对方已经恢复在线。
```
由于断线造成联络的中断,状态信息都在内存中。
由于崩溃退出,再次进入需要读取缓存的信息。
```
##### 关于中断的检查
* 任何一方超过规定时间后没有检测到心跳,都会提示连接中断
* 检测本地网络连接,如果本地网络正常,则记录中断原因不是由于自己造成的,如果本地网络不通,则记录中断原因是自己造成的。
* 提示连接中断后,本地会启动5分钟倒计时,时间到了之后上报给服务器,此次上课有问题,同时退出课程。
* 如果在连接中断5分钟之内,心跳恢复,则停止5分钟倒计时
* 心跳恢复后,如果中断原因是自己造成的,则尝试进行师生端的页面同步
* 心跳恢复后,提示重新连接成功。
* 如果是由于崩溃退出
#### 由于崩溃退出的处理
```
需要把当前的在线授课状态信息持久化(正常退出课程的时候进行清理)
客户端再次进入后,检查是否存在授课缓存文件,如果存在,则提示,您有一个进行中的课程,是否需要进入
... ... @@ -39,15 +41,6 @@
* 推送信息的保存(学生端保存,里面包含了公共群Id,聊天室Id)
* 通讯所需的公共群Id,聊天室Id的保存(教师端)
##在线授课然后再恢复页面同步处理
##### 关于中断的检查
* 任何一方超过规定时间后没有检测到心跳,都会提示连接中断
* 检测本地网络连接,如果本地网络正常,则记录中断原因不是由于自己造成的,如果本地网络不通,则记录中断原因是自己造成的。
* 提示连接中断后,本地会启动5分钟倒计时,时间到了之后上报给服务器,此次上课有问题。
* 如果在连接中断5分钟之内,心跳恢复,则停止5分钟倒计时
* 心跳恢复后,如果中断原因是自己造成的,则尝试进行师生端的页面同步
###### 关于客户端从断线状态恢复
客户端先向服务器询问此次课程可以恢复,如果可以则进行以下的恢复动作,如果不可以,则提示用户,课程已经结束,同时退出在线授课状态。
... ...