关于用户掉线的处理机制.md
1.6 KB
消息断线的检测
考虑利用音视频的状态检测,而不用服务器的心跳机制(尽量减少服务器端的工作)
当用户断线或者崩溃退出的时候,都会触发对方的音视频事件更新
-
由于网络断线原因引起的音视频无法对话
双方都会收到音视频事件更新。 首先检查自己的网络状态, 如果网络状态为断线,则提醒客户端检查网络连接 如果网络正常,则提示有可能对方出了问题,出现等待画面,等重新收到对方音视频正常的时候,可以退出画面。
-
如果是由于崩溃退出
需要把当前的在线授课状态信息持久化(正常退出课程的时候进行清理) 客户端再次进入后,检查是否存在授课缓存文件,如果存在,则提示,您有一个进行中的课程,是否需要进入
进入之后,进入上一次退出的页面。 对于教师端,进入页面后,恢复崩溃前的状态即可。 对于学生端,进入页面后,询问服务器是否本次课程已经结束。如果未结束,则恢复页面,等待继续授课。向教师端要求本页的动作列表信息。
* 关于在线授课状态的保存
在本地保存一份缓存文件,在正常进入课程前清理之前可能遗留的文件, 在授课过程中保存缓存信息,在授课正常结束之后清除缓存信息。
缓存信息项目包括
* 当前页的页面信息
* 当前页索引,当前动作索引
* 当前页已经收到的命令列表(用来恢复状态用)