我们的 App 是聊天软件,一开始只有文字对话,那时用 socket.io 就够了。後来要加上一对一语音的功能。因为 socket.io 不能互传 raw data ,不适合用来做语音传输,我们用了 WebRTC,目前网路电话应该大部分也都是用 WebRTC。
WebRTC 全名 Web Real-Time Communication,特别的地方在於,不用任何plugin ,就可以让两个浏览器进行实时影像、声音等资料交换的技术。应该大部分的网路电话都是用这个。目前是 Google 在维护的 Open Source,所以谁都可以免费用。
我们的 App 里有三个地方实际用到 WebRTC
WebRTC 实际上是建立ㄧ对一连结的,所以五人通话,实质上是 5x4/2=10 个连结。一对二十人直播,就是二十个连结。
WebRTC 是帮忙建立 P2P连结 的工具,要开始用之前,要自己准备 STUN Server 跟 TURN Server。具体要做的事简单说明如下:
上一段的步骤里,如果在第二步成功的话,我们几乎没什麽成本。但如果要用到 TURN Server ,就是实际主要会发生费用的地方,用越多花越多。
但是总不能因为这样就不给这种用户用,人家只会觉得我们有bug而已。所以如果要用的人,可能要自己评估能不能回本。
最新文章会分享在脸书:https://www.facebook.com/gigi.wuwu/
欢迎留言讨论
<<: 【履历要点 i 】来自大公司资深 Recruiter 的建议
ChromeOS 版本 Download Cr OS Linux 2.4.1290 (x86) Li...
接着我们要利用PGADMIN连线我们Heroku上的资料库插件 打开PGADMIN,输入昨天输入的密...
昨天我们在 Build Step 里开启 Coverage 的功能,让 TeamCity 在运行测试...
虽然在Day 9 聊了一些团队中的提问文化,我大原则仍希望我的团队内大家是开放的风气,什麽都可以问,...
在建置网页的时候,有时候会需要知道来源端它的环境是什麽,可能是需要记录来源的 IP,或是依照来源的作...