0.引言
本篇文章主要是讲解coturn安装、测试。这对于后面学习webrtc会有很大的帮助。参考文章:
Relay server即为turn中继服务器,而STUN server的作用是通过收集NAT背后peer端(即:躲在路由器或交换机后的电脑)对外暴露出来的ip和端口,找到一条可穿透路由器的链路,俗称“打洞”。stun/turn服务器通常要部署在公网上,能被所有peer端访问到,coturn开源项目同时实现了stun和turn服务的功能,是webrtc应用的必备首选。
1.安装依赖库
由于coturn的安装需要以下这些依赖库,所以这个需要提前适配好,如下命令:
sudo apt‐get install libssl‐dev
sudo apt‐get install libevent‐dev
安装界面如下:
注意:如果碰到如下apt-get的问题,可以这样解决。
解决不能使用apt-get的问题。如果一直卡在mysql时,直接跳过就可以了。输入如下命令:
sudo dpkg --configure -a
遇到这种Mysql问题,可以不用理会。对我们本次的安装影响不是很大。
1.1 下载和安装coturn代码
(1)输入如下命令下载coturn:
git clone https://github.com/coturn/coturn
下载界面:
(2)进入coturn目录
cd coturn/
ls
界面如下:
(3)使用默认的配置,输入命令如下:
./configure
配置界面如下:
(4)编译
make
(5)安装
sudo make install
经过上面的步骤就表示安装好了。
2.测试
nohup是一个重定向,aaa:123456表示一个用户名和密码。
(1)下面命令的意思就是nohup是重定向命令,输出都将附加到当前目录的 nohup.out 文件中; 命令后加 & ,后台执行起来后按ctr+c,不会停止。在coturn所在目录下,输入如下命令:
sudo nohup turnserver ‐L 0.0.0.0 ‐a ‐u root:9 ‐v ‐f ‐r nort.gov &
执行命令后的结果如下:
(2)检查是否正真的运行起来。同样在coturn目录下,输入命令如下:
sudo lsof -i:3478
如果能够打印出如下的结果,就可以表示是成功的,否则这个启动服务就是有问题。如下图:
(3)同样在coturn目录下,可以使用tail命令,来观察重定向的日志,命令如下:
tail -f nohup.out
(4)Coturn是集成了stun+turn协议。
测试网址:
https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
网站界面如下:
在这一栏输入如下地址:
STUN or TURN URI:stun:172.16.204.145:3478
用户名这一栏,输入:
TURN username:root
TURN password:9
再点击下这个测试按钮,就是这个Gather candidates。
结果如下界面:
如果显示是Done,则表明这个stun打洞就是正常。
注意:使用360浏览器就不行,会报错,如下:
Note: errors from onicecandidateerror above are not neccessarily fatal. For example an IPv6 DNS lookup may fail but relay candidates can still be gathered via IPv4.
The server stun:172.16.204.145:3478 returned an error with code=701:
STUN server address is incompatible.
The server turn:172.16.204.145:3478?transport=udp returned an error with code=701:
TURN allocate request timed out.
翻译过来的意思就是:
注意:以上onicecandidateerror的错误不一定是致命的。例如,IPv6 DNS查找可能失败,但中继候选仍然可以通过IPv4收集。
服务器不知所云:172.16.204.145:3478返回错误,代码=701:STUN服务器地址不兼容。服务器turn:172.16.204.145:3478?transport=udp返回错误,代码为701:
打开分配请求超时。
而使用IE浏览器,就可以打洞成功。上面成功的案例是使用IE浏览器。
(5)接着测试turn的中继relay模式,配置界面如下:
输入命令:
turn:172.16.204.145:3478
root
9
别忘点击Add Server,选择relay模式。
如果有这些日志,应该就可以了。
注意:从结果证明,在不同浏览器表现出来的效果不一样,可能跟虚拟机测试和协议有关系,后面有机会再尝试解决下。
3.总结
本篇文章主要是讲解coturn的安装和测试,欢迎关注,转发,收藏,点赞!
关于后期项目相关的知识,可以关注微信公众号"记录世界 from antonio"
本文暂时没有评论,来添加一个吧(●'◡'●)