如何在使用简单对等构建的视频聊天应用程序中设置 STUN 服务器?

How to setup STUN server in a video chat app built using simple peer?

我最近在做一个需要视频聊天的项目。我使用简单的对等点来设置视频通话并使用 socket.io 进行信号传输。然后我部署了我的应用程序。我意识到当同一网络上的两个对等点加入通话时,该应用程序运行正常。但是,如果不同网络上的两个对等点加入通话,那么我会收到一条错误消息,指出过程未定义并且通话无法连接。 我在网上阅读了相关内容,然后发现我还有两个配置 STUN and/or TURN 服务器来提取 ICE 候选人及其 public IP。

谁能告诉我如何在我的简单对等应用程序中设置 STUN 服务器?我还在某处读到 google 提供了一些免费的 STUN 服务器供使用,但我不知道如何将它们实际集成到我的简单对等应用程序中。

在您的应用程序中创建 RTCPeerConnection 时,提供包含 iceServers.

的配置

这是the reference

示例:

myPeerConnection = new RTCPeerConnection({
  iceServers: [
    {
      urls: "stun:stunserver.example.org"
    }
  ]
});

您可以找到免费 STUN 服务器列表 here

您可能还想配置 TURN 服务器以涵盖更复杂的 NAT 场景。