如何使用 java 创建我自己的 STUN 或 TURN 服务器
Posted
技术标签:
【中文标题】如何使用 java 创建我自己的 STUN 或 TURN 服务器【英文标题】:How to create my own STUN or TURN server using java 【发布时间】:2017-10-19 17:32:32 【问题描述】:我一直在使用WebRTC
并使用Java Websocket
作为信令服务器来开发视频聊天应用程序。
此应用程序在 Tomcat
上成功运行。
目前我正在使用谷歌的 STUN 服务器。
var pc_config = "iceServers": ["url": "stun:stun.l.google.com:19302"]; var pc = 新的 RTCPeerConnection(pc_config);
我不想像上面那样在公共或第 3 方 STUN 服务器上进行中继。
由于我的应用程序将发布到具有专用域的公共 Tomcat 服务器。我想使用/设置我自己的 STUN 或 TURN 服务器。
我可以用 Tomcat 做到这一点吗? 是否有任何稳定的开源库可用于此?
如果有的话,请给我举个例子。
【问题讨论】:
【参考方案1】:我认为尝试填充信令和 NAT 遍历(=STUN/TURN 服务器)是错误的方法。您使用它们处理扩展的方式是不同的,并且您最终暴露给开放互联网的每个表面也不同。
由于这些原因,为 STUN/TURN 服务器使用不同的语言/技术并没有真正的问题。我会选择coturn 或restund 这里。
您还可以使用一些托管的商业服务来代替自己部署,而且它们真的不贵。
【讨论】:
【参考方案2】:更好的方法是在您的服务器上使用开源解决方案作为服务。示例:https://github.com/coturn/rfc5766-turn-server/ - 功能强大且稳定,支持附加功能。
AFAIK,没有可以在 Tomcat 下运行的 Java STUN/TURN 库。虽然,有一些基于 Java 的开源项目,比如这个:https://github.com/jitsi/turnserver
【讨论】:
以上是关于如何使用 java 创建我自己的 STUN 或 TURN 服务器的主要内容,如果未能解决你的问题,请参考以下文章