mediasoup 集群_mediasoup-demo解析-客户端

本文详细解析了mediasoup集群的客户端实现,包括gulp任务管理、RoomClient类、Redux状态容器、WebRTC核心、屏幕共享、React页面和Stylus样式。重点介绍了gulp任务流程、WebSocket连接与protoo模块的使用、Redux状态管理和WebRTC的SDP信息在StopSending过程中的作用。
摘要由CSDN通过智能技术生成

1、gulp任务管理

npm start启动app,执行脚本:

"start": "gulp live"

该命令用启动gulp顺序任务组合live,位于gulpfile.js中,关于gulp相关点击这里

gulp.task('live', gulp.series('clean','lint','bundle:watch','html','css','resources','watch','browser'));

分别执行以下任务:

clean:清空OUTPUT_DIR目录;

lint:将lib目录下的js文件读取到流并进行一些格式化等操作;

bundle:watch:开启文件改变监控与绑定,该任务调用了gulpfile.js里面的bundle()函数,而bundle()函数里面主要是将上一步流中的js文件合并生成了mediasoup-demo-app.js文件,合并后的js文件有13.3M,这是一个大包的过程,便于一次性加载整个应用。

html:复制index.html至OUTPUT_DIR目录下;

css:读取stylus/index.styl文件,转化,重命名为mediasoup-demo-app.css输出到OUTPUT_DIR目录下;

在OUTPUT_DIR下创建resources目录;

watch:监控html, styl, resources...等一系列文件变化

browser:静态文件更新多端同步刷新配置

总结一下,app目录下执行npm start命令后其实就是将相关静态资源复制到server/public目录下,并且开启了文件刷新监控,多端同步,并自动打开浏览器访问访问配置的路径。然后所有的请求处理是由server来处理的,app是个静态资源服务器。

关于app启动时报的这4个参数错误:

Possible race condition: `window.SHOW_INFO` might be reassigned based on an outdated value of `window.SHOW_INFO`

该错误来源在app/lib/index.jsx中的run( )函数

if(info)

window.SHOW_INFO= true;if(throttleSecret)

window.NETWORK_THROTTLE_SECRET= throttleSecret;

然后自己加了几行代码,再启动发现错误越来越多,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值