博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
配置 AppRtc 支持多人加入房间
阅读量:6885 次
发布时间:2019-06-27

本文共 1601 字,大约阅读时间需要 5 分钟。

hot3.png

-- 配置 AppRtc 支持多人加入房间

基于 AppRtc 搭建的 webrtc 音视频通话默认只支持一对一的音视频通话,前期我们在没有开发出来自己的房间、信令服务器的情况下,要想开发测试多人音视频通话的话,就需要自己去修改 server 的相关配置, 以让其允许多人同时加入房间,否则 server 将返回房间已满的错误信息;对房间人数的限制有两方面, RoomServer 和 collider server,我们只需要将其对允许同时加入房间的人数进行相应的提高就行了,如改成 3 人:

  • 修改 RoomServer 对人数的限制

    修改 apprtc 编译生成的 out/app_engine/apprtc.py 文件,首先自定义一个全局变量,限定房间人数为 3:

    MAX_USER_COUNT = 3

    然后在新终端加入房间时使用此值进行判断,即:

    第 399 行:

    occupancy = room.get_occupancy()    if occupancy >= MAX_USER_COUNT:      error = constants.RESPONSE_ROOM_FULL      break

    第 422 行:

    if memcache_client.cas(key, room, constants.ROOM_MEMCACHE_EXPIRATION_SEC):      logging.info('Added client %s in room %s, retries = %d' \          %(client_id, room_id, retries))      if room.get_occupancy() == MAX_USER_COUNT:        analytics.report_event(analytics.EventType.ROOM_SIZE_2,                               room_id,                               host=request.host)      success = True      break

    第 595 行:

    if room is not None:      logging.info('Room ' + room_id + ' has state ' + str(room))      if room.get_occupancy() >= MAX_USER_COUNT:        logging.info('Room ' + room_id + ' is full')        self.write_response('full_template.html')        return
  • 修改对 Collider 对人数的限制

    修改 apprtc 目录下 /src/collider/collider/room.go 文件,修改 maxRooCapacity 为 3,同 RoomServer 对人数的限制:

    const maxRoomCapacity = 3

    注:Collider 需要重新编译。

最后,分别重启 RoomServer 和 Collider 既可,三人同时加入同一个房间 ID,将不再出现 Room Is Full 的报错,但是 客户端需要自己实现 多个 PeerConnection 去获取第三人的音视频数据并播放。

作者:Gobert
链接:https://www.jianshu.com/p/08040315f996
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

转载于:https://my.oschina.net/u/2336787/blog/1810054

你可能感兴趣的文章
模板:排序(三)
查看>>
jsp页面动态展示list-使用<select>和<c:forEach>标签
查看>>
html 样式之style属性的使用
查看>>
Linux 中显示所有正在运行的进程
查看>>
POJ 1753 Flip Game
查看>>
Vc控件用法总结之List Control
查看>>
[转] 【开源访谈】Muduo 作者陈硕访谈实录
查看>>
LeetCode 86. Partition List 20170612
查看>>
我的XHTML学习笔记
查看>>
单链表的增删查改
查看>>
centos7系统安装python3,pip3,django
查看>>
php观察者模式
查看>>
励志名言
查看>>
Linux基本命令 文件搜索命令
查看>>
C#点击按钮用DataGridView动态增加行、删除行,增加按钮列
查看>>
重构的信号
查看>>
如何计算团队贡献
查看>>
图片特效处理之怀旧效果
查看>>
MySQL5.7主从,单slave多master
查看>>
51nod 1304 字符串的相似度(exkmp)
查看>>