WebRTC中的两个端点都需要STUN/TURN config/credentials吗

WebRTC中的两个端点都需要STUN/TURN config/credentials吗,webrtc,stun,turn,Webrtc,Stun,Turn,在WebRTC工作时,似乎只有提供服务的客户才需要提供昏迷和转身的位置和凭证,这些位置和凭证将封装在提供中,然后由接收客户使用。是这样吗?如果不是,为什么不呢?否,两端的客户端需要提供某种晕眩/转身配置,请注意,这些配置不需要相同 回想一下,晕眩和转身只是为你提供了四处走动的工具。换句话说,它为对等方提供了工具,使其能够找到公开访问的方式。他们通过生成我们通过信号发送的ICE候选者来做到这一点。只要我们能够生成至少一个有效的ICE候选并告诉我们的对等方,我们就可以建立连接 两端都需要提供配置的原

在WebRTC工作时,似乎只有提供服务的客户才需要提供昏迷和转身的位置和凭证,这些位置和凭证将封装在提供中,然后由接收客户使用。是这样吗?如果不是,为什么不呢?

否,两端的客户端需要提供某种晕眩/转身配置,请注意,这些配置不需要相同

回想一下,晕眩和转身只是为你提供了四处走动的工具。换句话说,它为对等方提供了工具,使其能够找到公开访问的方式。他们通过生成我们通过信号发送的ICE候选者来做到这一点。只要我们能够生成至少一个有效的ICE候选并告诉我们的对等方,我们就可以建立连接

两端都需要提供配置的原因是,否则,一个对等方将无法分辨哪个IP地址属于另一个。因此,即使应答方拥有您的ICE候选者,因此它知道如何联系您,如果ICE候选者仅由提供方生成,则该方无法安全地判断传入的连接尝试实际上来自您向其发送报价的对等方,尽管很可能是

对于赏金问题,我想知道当只有一个对等方具有所需的回合凭证时,是否可以通过回合连接对等方。答案也是否定的

要了解原因,您需要了解存在TURN服务器,以便在由于防火墙、不兼容等原因而无法建立直接连接的情况下。它会生成假的ICE候选者发送给您的对等方,因为实际上,这些候选者实际上代表您的TURN服务器。然后,您的TURN服务器将转发您的对等服务器发送给您的数据,此时,它不再被视为对等服务器

这就是说,你的同伴甚至不知道你的回合服务器,它会像其他候选人一样看到你的回合生成候选人。你的同龄人仍然需要以某种方式收集ICE候选人来发送给你。它不能使用您的TURN服务器来执行此操作,因为您从未在整个工作流中提供其凭据


如果你对这些东西感兴趣,我建议你读这本书。非常全面。

你找到这个问题的答案了吗?我自己也在寻找答案。@dentemm如果不给双方证明,我就无法让它工作。我不完全清楚为什么。一种可能性是,你无法控制哪一个在冰握手过程中占主导地位。另一种可能性是,双方都有凭证,这会在某种程度上增加安全性。不太确定,但无论我做了什么,我都需要为两个同龄人提供配置和凭据。谢谢你回答Michael!看起来双方确实都需要资格证书,否则我也无法让它发挥作用。