原创整理,转载请注明出处。
1.
【错误】
webpack -p编译时产生下面的错误。webpack编译时没有问题。
ERROR in polyfills.bundle.js from UglifyJs
TypeError: Cannot read property 'sections' of null
【原因】
插件(new webpack.optimize.UglifyJsPlugin())和命令行参数 --opimize-minimize (or -p) 导致重复加入两次UglifyJsPlugin。去掉UglifyJsPlugin插件或者去掉命令行参数 -p 。
【参考】
https://github.com/webpack/webpack/issues/1385
2.
【错误】
socket.io连接之后画面迁移回来之后,不能建立socket.io连接
【原因】
socket.io内部保存连接。迁移到别的画面之后,无效的socket连接还是保存在socket.io内部。所以再次回到这个画面之后,调用的是之前的已经无效的连接。
【解决方法】
在生成socket.io时传参数forceNew: true,socket.io就会重新建立连接。
另外,simplewebrt 生成 socket.io 时的参数是 config.socketio(socketioconnection.js),所以service 生成simplewebrtc时设定参数的时候,socket.io相关的参数要放在config.socketio{}里(socket.io连接的URL要放在外面)
var config: any = {
。。。。。。
url: 'https://NNN.com:3000/chat', // socket.io url
socketio: { // socket.io连接参数
path: '/',
transports: ['websocket', 'polling'],
forceNew: true // 重新建立连接
},
。。。。。。
};
this.simpleWebRtc = new SimpleWebRTC(config);
【参考】
- https://github.com/andyet/SimpleWebRTC
SimpleWebRTC构造函数的说明 - https://socket.io/docs/client-api/#io-url-options
创建新的socket.io的连接
3.
【错误】
创建socekt.io服务器,端口是4000。
用Tomcat集群配置的服务,访问socket.io的时候,提示握手超时错误。Tomcat的监视窗口显示[org.apache.catalina.tribes.io.XByteBuffer.append Discarded the package, invalid header]错误。
【原因】
Tomcat集群,各个worker之间的通信Port是4000,socket.io服务的端口跟这个重复了。
Tomcat集群的worker通信端口配置待查
4.
【Apache反向代理WSS】
HTTPS和WSS在同一个server的时候,通过Apache反向代理
5.
【错误】
Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause().
【参考】
1.https://stackoverflow.com/questions/37136077/how-do-i-prevent-the-error-uncaught-in-promise-domexception-the-play-reque
2.http://www.cnblogs.com/bleachli/p/6265878.html
6.
【错误】
关闭共享桌面之后,再次启动桌面共享的时候,没有反应(或者说执行停止共享桌面的程序)
if (this.simpleWebRtc.getLocalScreen()) { // 问题出在这里
simpleWebRtc.stopScreenShare();
}
【原因】
simpleWebRtc.stopScreenShare方法里,调用webrtc(localmedia)方法stopScreenShare的时候,没有给stream参数,导致在localmedia里没有把localScreens数组清空。
【解决】
在业务侧直接清空localScreens数组
webRtc.localScreens = [];
7.
【错误】
通过Turnserver服务器进行P2P通信的时候,有代理的终端发生错误。
【原因】
【解决】
待查。
参照:
<https://github.com/coturn/coturn/wiki/turnserver>
TURN connection with Proxy
8.
【WebRTC调试】
Chrome:chrome://webrtc-internals/
Firefox:about:webrtc