【发布时间】:2026-01-14 00:35:01
【问题描述】:
我使用简单的 peer 和 socket.io 开发了一个视频聊天应用程序。但是当我尝试托管应用程序时,由于防火墙问题,无法连接对等方。我知道 STUN 和 TURN 服务器将用于此目的。是否可以使用简单的 peer 连接到这些服务器? 如果有怎么办? 任何解释或参考文章都会有所帮助
【问题讨论】:
标签: socket.io webrtc stun turn simple-peer
我使用简单的 peer 和 socket.io 开发了一个视频聊天应用程序。但是当我尝试托管应用程序时,由于防火墙问题,无法连接对等方。我知道 STUN 和 TURN 服务器将用于此目的。是否可以使用简单的 peer 连接到这些服务器? 如果有怎么办? 任何解释或参考文章都会有所帮助
【问题讨论】:
标签: socket.io webrtc stun turn simple-peer
你可以像original webrtc那样在simple-peer config中添加iceServer配置,像这样:
{
initiator: false,
config: { iceServers: [{ urls: 'stun:stun.l.google.com:19302' }, { urls: 'stun:global.stun.twilio.com:3478?transport=udp' }] },
}
您可以添加眩晕服务器和/或转向服务器。
【讨论】:
如果您阅读simple-peer npm 包的源代码,您会发现它当前使用的是
URLs: [
'stun:stun.l.google.com:19302',
'stun:global.stun.twilio.com:3478'
]
满足其公共 IP 发现需求。
您的应用在防火墙的情况下无法运行,因为仅stun 服务器在防火墙的情况下是不够的。
在这种情况下,除了STUN 服务器,您还需要一个TURN 服务器。
TURN 是回退,如果STUN 无法交付。
【讨论】: