直播答题APP端技术方案

一、需求:直播中互动答题

1.客户端直播答题技术方案,使用socket长连接来收发题和答案;

二、技术难点:

1.答题与视频同步

通过视频追时延技术实现不同设备播放视频的同步;

2.即时准确地收题和发送答案

3.防止丢包

三、长连接实现

1.心跳机制

心跳是为了保持连接,每60s给服务端发送一次心跳,心跳内容及格式由服务端制定;

2.重连机制

连接过程中因为网络等某些因素导致长连接断开,就要进行重连,我们制定的是每n+1秒之后进行重连,n是长连接断开的次数。

3.丢包处理的反馈机制

测试中发现,长连接收发消息丢包是存在的,服务端推题,客户端一些时候无法收到消息。为了解决这个问题,我们加入了反馈机制。客户端收到消息后,会把相应的信息(这个题目的信息)反馈给服务端。隔相应时间后,服务端会给未收到反馈的设备重复发送题目信息,由此优化了此问题。

4.判重机制

丢包反馈也会出现一个问题,就是反馈还未到达服务端的时候,服务器又重新发送了题目,导致客户端重复收到同一道题,这就需要客户端添加判断处理,包括题目或答案页面判重显示问题。

5.断线重连逻辑处理

第一道题,答题时间10s,在答题过程中,长连接由于某种原因断开了,或者退出重进,要有重复发题的方案;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,160评论 1 32
  • 《亿级Android架构》小专栏文章列表:《亿级 Android 架构》专栏随谈》《Android 架构之网络连接...
    wingjay阅读 12,277评论 2 60
  • 今天带妍学钢琴,一下课,妍扭头就走,我在后面对老师说“老师再见。”妍好像没有听见。我叫她“妍,我们来跟老师再见”。...
    sunfeng0912阅读 231评论 0 6
  • 01 1月26日一建成绩公布了,比往年公布的时间晚了近一个月。在这一个月里,我每天打开电脑第一件事情就是上网看看考...
    月青山阅读 493评论 0 2
  • 世上唯一不能复制的是时间,唯一不能重演的是人生。该怎么走,过什么样的生活, 全凭自己的选择和努力 ,人生很贵,不可...
    开心农场主阅读 146评论 0 0