第89篇 webrtc一对一IOS端研究(二)

关键词: webRTC IOS,两端发送消息报错处理, 老师端学生端同时弹框

一、webrtc一对一IOS端

1.1 webRTC IOS

1通过服务器建立信道

这里再次重申,就算WebRTC提供浏览器之间的点对点信道进行数据传输,但是建立这个信道,必须有服务器的参与。WebRTC需要服务器对其进行四方面的功能支持:

a. 用户发现以及通信

b. 信令传输

c. NAT/防火墙穿越

d. 如果点对点通信建立失败,可以作为中转服务器

2) RTCDataChannel

二、bug处理

 2.1 今天发现发消息受影响,报错如下:

错误为:

原因为:做学生端时,对event.data的约束影响了消息的发送与接收。

解决办法:

   把这个函数再复制一遍,改个名字,只用于两端聊天时用,把其它的删除即可!

并把原来那个聊天时,调的函数appednDIV改为appendDIV_chat,如下:

再次运行如下:

这时,报了一个错,虽说不影响运行,还是要找到原因,报错如下:

现象:老师端发一个消息给学生端,学生端能收到,但学生端报错。

同样:学生端给老师发个消息,老师端能收到,但同时也报了个错。如下:

原因分析:

可能是发消息时,对方同步慢了,没有立即收到。

2.2 老师学生弹框

  现在有个需求是:老师端学生端结束答疑后,在各自的页面要弹出花费多长时间.

解决步骤:

   1不管是学生还是老师,点结束答疑,此时,有两种情况:是确实要结束答疑,还是误操作。

注:这时,哪端点的,哪端提示,另不端不能提示。代码支持如下:

if(confirm("您确定结束吗,本次辅导用时"+mnsCommon+"分钟!")){

2当用户(老师/学生)点确定时,结束答疑按钮变灰色,并把当前页面置空。代码支持如下:

document.getElementById('end_anwser').disabled = true;

 window.location.href="about:blank";

之后,向另一端发个消息,让其做相应操作:

connection.send('end');

当用户点取消时,这是误操作,结束答疑按钮不能变色,当前页面也不能置空,更不能给另一端发消息让其做操作。只需返回继续答疑即可:

alert("欢迎继续辅导!"); 

3当用户一端已经点确定,另一端接到消息需要做的是:返回所用时间,置空当前页面,代码如下:

              alert("本次辅导用时"+mnsCommon+"分钟!知道了"); 

              window.location.href="about:blank";

4用户一端整体代码如下:

           $("#end_anwser").click(function(){

                                if(confirm("您确定结束吗,本次辅导用时"+mnsCommon+"分钟!")){

                      document.getElementById('end_anwser').disabled = true;

                      window.location.href="about:blank";

                      connection.send('end');

 

                     }else{

                              alert("欢迎继续辅导!"); 

                     }

           })

  另一端代码:

        function closeWindowStudent( )

       {

              alert("本次辅导用时"+mnsCommon+"分钟!知道了"); 

              window.location.href="about:blank";        

             }

2016年11月4日星期五


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值