我正在开发一个webrtc应用程序,必须实现以下TURN服务器。
https://code.google.com/p/rfc5766-turn-server/
我正在学习本教程。
http://www.dialogic.com/den/developer_forums/f/71/t/10238.aspx
它表示在创建RTCPeerConnection的javascript代码中引用TURN服务器如下。
var pc_config = {"iceServers": [{"url": "stun:stun.l.google.com:19302"},
{"url":"turn:<turn_server_ip_address>", "username":"my_username", "credential":"my_password"}]};
pc_new = new webkitRTCPeerConnection(pc_config);
我有点困惑,为什么我们引用Google的公共STUN服务器。我以为RFC5766 TURN服务器里面有STUN。
RFC5766只是TURN服务器吗?而不是STUN服务器?我们不能实现自己的STUN服务器,而不是使用Google提供的服务器吗?
抱歉这样天真的问题。我是WebRTC的新手。
感谢。
答案 0 :(得分:32)
只是加入Igor的回答,
coturn
是rfc5766-turn-server
的分支,核心功能相同,具有额外功能并添加了新功能,因此我建议您改用它。
以作者自己的话说:
该项目是从rfc5766-turn-server项目(https://code.google.com/p/rfc5766-turn-server/)发展而来的。有许多新的高级TURN规范远远超出了原始的RFC 5766文档。该项目将rfc5766-turn-server的代码作为入门者,并为其添加了新的高级功能。
对于安装,它很容易在linux机器上安装,而不是在其他操作系统中试用。
简单方法:
sudo apt-get install coturn
如果您拒绝,我想要最新的前沿,您可以自己安装downloads page下载源代码,例如:
sudo -i # ignore if you already in admin mode
apt-get update && apt-get install libssl-dev libevent-dev libhiredis-dev make -y # install the dependencies
wget -O turn.tar.gz http://turnserver.open-sys.org/downloads/v4.5.0.6/turnserver-4.5.0.6.tar.gz # Download the source tar
tar -zxvf turn.tar.gz # unzip
cd turnserver-*
./configure
make && make install
为了运行TURN,建议将其作为守护程序运行,并且可以使用此wiki作为参考进行配置。
用于运行TURN服务器的示例命令:
sudo turnserver -a -o -v -n --no-dtls --no-tls -u test:test -r "someRealm"
命令说明:
现在您可以在WebRTC应用程序中使用TURN服务器:
var peerConnectionConfig = {
iceServers: [{
urls: YOUR_IP:3478,
username: 'test',
password: 'test'
}]
}
答案 1 :(得分:16)
转发它是STUN的扩展,因此TURN服务器也具有STUN功能。
https://code.google.com/p/rfc5766-turn-server/也可以作为STUN,所以你可以尝试写这样的东西:
var pc_config = {"iceServers": [{"url":"turn:my_username@<turn_server_ip_address>", "credential":"my_password"}]};
pc_new = new webkitRTCPeerConnection(pc_config);
答案 2 :(得分:0)
最近,我正在捕获我的Kurento WebRTC服务器数据包,并意识到它一直在使用此www.stunprotocol.org
域进行STUN请求。名为stuntman
的工具可以为您创建一个简单的STUN服务器。
只需在Linux主机上执行以下操作即可:
1。sudo apt-get update
2。sudo apt-get install stuntman-server
3。stunserver --mode full --primaryinterface 100.101.102.103
(将100.101.102.103替换为您的IP地址)
4.打开This Link测试您的STUN服务器。
例如 STUN或TURN URI:眩晕:100.101.102.103:3478
一切对我来说都很顺利。