关键词:更新代码(二),webrtc连接不稳定性解决方案总结
一、代码更新(二)
还有6个文件需要比较,如下:
1.1 比较Gruntfile.js文件
不同1:增加读json文件语句,如下:
不同2:增加了读版本号的语句,如下:
不同3:增加了版本的匹配及版本号的取代,如下:
不同4:增加了RTCMultiConnection.js的清空
1.2 logs.json比较
都是空的,不用比较。
1.3 package.json文件比较,重要项不同记录如下:
不同1:引入了引擎
1.4 Scalable-Broadcast.js比较
不同1:增加了一个广播ID
不同2: socket回传
不同3:广播id约束
1.5 server.js文件比较
这个文件改了很多,其中有涉及到端口的9001改成了9002。
1.6 Signaling-Server.js文件比较
不同1:增加了socket.handshake.query请求部分
不同2:对maxParticipantsAllowed的值进行约束
不同3:get-remote-user-extra-data数据回调
不同4:dontDuplicateListeners监听
不同5:socket.id改为user.id
不同6:增加函数joinARoom
不同7:对远程user.id进行约束
1.7 更新rmc3.js-------它所在的地址如下:
https://webrtcexperiment-webrtc.netdna-ssl.com/rmc3.js
1.8 更新了rmc3.min.js---它所在的地址如下:
https://cdn.webrtc-experiment.com/rmc3.min.js
1.9 更新了rmc3.fbr.js,地址如下:
https://webrtcexperiment-webrtc.netdna-ssl.com/rmc3.fbr.js
1.10 更新了rmc3.fbr.min.js,地址如下:
https://webrtcexperiment-webrtc.netdna-ssl.com/rmc3.fbr.min.js
二、运行官方webrtc
昨天弄到很晚,终于把连接不稳定性解决了,主要做了以下工作。
对比官网,把文件做了有选择更新,主要涉及文件如下:
1) 更新了RTCMultiConnection.js文件
2) 更新了RTCMultiConnection.min.js文件
3)更新了config.json文件,多加了一行如下:
"autoRebootServerOnFailure":"true"
4)Gruntfile.js文件进行了更新
5)Scalable-Broadcast.js文件更新
6)server.js文件也改了不少
其中有涉及到端口的9001改成了9002
7)Signaling-Server.js文件更新
8)更新rmc3.js-------它所在的地址如下:
https://webrtcexperiment-webrtc.netdna-ssl.com/rmc3.js
9) 更新了rmc3.min.js-----它所在的官网地址如下:
https://cdn.webrtc-experiment.com/rmc3.min.js
10)更新了rmc3.fbr.js,地址如下:
https://webrtcexperiment-webrtc.netdna-ssl.com/rmc3.fbr.js
11)更新了rmc3.fbr.min.js,地址如下:
https://webrtcexperiment-webrtc.netdna-ssl.com/rmc3.fbr.min.js
上述文件更新后,发现没多大变化,还是不灵。紧接着,又看官方demo和源码,看了一个demo为:Audio+Video+TextChat+FileSharing.html,发现这个官方demo能实现跨网连接,并且是立即连接,不存在试几次再成功连接的情况,所以比照这个html,对项目服务器上的代码作调整,之后,正如我所想,都是一把通的,不管是切换公司不同wifi,还是把熟睡的同事叫醒和对方远程连接。
a) 对项目服务器上index.html调整如下:
调整一:注释掉了几个js引入,并加入了四个新的js,并且把RTCMultiConnection.min.js放到了dist文件夹下面。
调整二:
对hashString函数作了优化,如下:
现在的hashString函数变为:
var hashString =location.hash.replace('#', '');
if(hashString.length && hashString.indexOf('comment-') == 0) {
hashString = '';
}
var roomid = params.roomid;
if(!roomid &&hashString.length) {
roomid = hashString;
}
b) 公司大牛对文件进行的调整如下:
当我更新完官网代码,发现不能运行时,同事修改了两个地方,使其运行,具体如下:
修改一:修改serve.js中的一行为:
注:官方上面isUseHTTPs =false;
修改二:修改了canvas-designer-widget.js文件,如下:
开始为:
designer.widgetHtmlURL = 'demos/widget.html';
designer.widgetJsURL= 'demos/widget.min.js';
看来做技术,本就不是一个人的事,需要团队合作,但问题出来了,每个人,作为项目的一员,都要有一种死磕的勇气,只要肯下功夫,没有解决不了的问题,加油!
今天,要对文件路径进行调整,现在访问时,多了一个demos,截图如下:
2016年11月29日星期二