免费 Stun and Turn 服务器列表 | 开放中继项目
什么是 Turn 服务器?
WebRTC 应用程序需要服务器来执行诸如在对等设备之间中继流量之类的任务,这是因为如果设备位于不同的网络上(大多数情况下都是如此),则无法建立直接套接字连接
解决这个问题的常用方法是使用 TURN 服务器(Traversal Relay NAT),它是一种中继流量的协议。
目前网上有几种 TURN 服务器可供选择,其中一个可靠且免费的选项是https://openrelayproject.org
开放中继项目:免费公开可用的 TURN 服务器?
向公众提供免费的、可用于生产的 TURN 服务器。
在 TURN 服务器中,您需要 RTCConfiguration 以便客户端应用程序使用它。
下面的代码片段说明了 RTCPeerConnection 的示例配置,其中我们使用的服务器是来自https://openrelayproject.org的免费服务器,hostname
我们拥有的是 openrelay.metered.ca:80,它在端口 80 上运行。
配置对象接受用户名和凭证以安全访问服务器。
OpenRelayProject 为我们提供了凭证:
username: "openrelayproject",
credential: "openrelayproject"
const iceConfiguration = {
iceServers: [
{
urls: 'turn:openrelay.metered.ca:80',
username: 'openrelayproject',
credentials: 'openrelayproject'
}
]
}
const peerConnection = new RTCPeerConnection(iceConfiguration);
公共 Turn Stun 服务器列表
如果您需要公共 Stun Turn 服务器,Open Relay 项目是唯一可用的免费生产就绪服务。
您可以在正在构建的任何 webRTC 应用程序中使用 Open relay 项目。
以下是 Open Relay 项目的一些功能:在端口上
运行80
443
经测试可绕过大多数防火墙规则
企业级可靠性(99.999% 正常运行时间)
支持 TURNS + SSL,允许连接通过深度数据包检测防火墙。
支持 STUN
支持 TCP 和 UDP
动态路由到最近的服务器
生产就绪
什么是 STUN 服务器?
STUN 是一组方法,是一种用于穿越 NAT 网关中继流量的网络协议。
STUN 也被其他协议使用,例如 ICE、SIP 和 WebRTC。
它让主机设备发现 NAT 的存在,并找出 NAT 分配给远程主机的 UDP 的公共 IP 和端口号。
该协议需要位于 NAT 另一侧的 STUN 服务器的协助。
Open Relay Project 还提供 STUN 服务器和 Turn 服务器
在所有情况下,STUN 并不是一个自给自足的 NAT 穿越解决方案。
STUN 与 NAT 穿越中的其他方法协同工作,其中最显著的是使用中继 NAT 的 TURN 穿越和交互式连接建立 ICE
STUN 与三种类型的 NAT 配合使用:完全锥形 NAT、限制锥形 NAT 和端口限制锥形 NAT。
STUN 不适用于大多数组织、大型企业和大型网络中常见的对称 NAT。
这是因为 STUN 服务器的 IP 地址与终端的 IP 地址不同。在这种情况下,需要 TURN 服务器。
什么是 WebRTC?
WebRTC 是一种允许 Web 应用程序使用一组标准协议在互联网上交换视频、音频和其他数据的技术
使用 WebRTC,网络浏览器还可以交换任意数据,而无需中介。
WebRTC 这套标准使得人们无需安装任何软件就可以通过网络进行视频会议和数据传输。
WebRTC 由多个互连协议组成,它们共同协作以实现这一目标
什么是信号?
WebRTC 规范包括使用 ICE 互联网连接建立服务器与其他服务器和设备通信的 API,但不包含向服务器发出信号的方式。
信令不是 WebRTC API 的一部分,并且需要信令才能在设备之间交换有关如何相互连接的信息
信令可以通过多种不同的方式实现,并且 WebRTC 规范并不偏向任何单一的方式。
信令示例代码
const signalingWay = SignalingChannel(remoteClientId);
signalingWay.addEventListner('message', message => {
cosole.log('message recieved from client', message)
})
结论
如果您正在构建 webRTC 应用程序,则核心要求是拥有 TURN 服务器。
你可以创建自己的 TURN 服务器,但成本高昂,需要付出很多努力
您还可以考虑OpenRelayProject.Org,他们提供免费的 TURN 服务器,可用于生产环境
鏂囩珷鏉ユ簮锛�https://dev.to/aprogrammer22/list-of-free-stun-and-turn-servers-open-relay-project-3a70