【问题标题】:With a data-only use of WebRTC and "RTCMultiConnection" lib, did I still need the iceServers?仅数据使用 WebRTC 和“RTCMultiConnection”库,我还需要 iceServers 吗?
【发布时间】:2014-11-03 23:16:46
【问题描述】:

我正在开发一个 WebRTC 应用程序,使用 RTCMultiConnection 库,只有数据(没有音频也没有视频)。我的项目只需要在多个用户之间发送消息(进入同一个会话)。

当我检查我的项目时,我看到库可以调用一些 iceServer,作为来自 Google 的 stun 服务器。

我发现了这些 stun/turn 服务器的用途(绕过 NAT、防火墙等),但我不清楚它们是否仍然需要用于仅数据使用 WebRTC(因为人们似乎在使用它用于 voip/视频流),以及他们从用户那里获取哪些数据? (只有 IP?只有一次?它们是作为中继工作的,因此可以在我的用户之间转储消息吗?)

【问题讨论】:

  • 您需要该服务器引入一对对等点。如果没有另一台服务器,我认为您也只能连接一对设备,但如果我错了,那就太酷了。
  • 我以为这只是信令服务器的作用……也就是说不同的人真的需要使用同一个STUN服务器来建立关系吗?为了更准确地了解我的项目,它是一个 Chrome 扩展,我正在考虑可能将 STUN 服务器删除到 libs 文件中,或者允许用户参数化他们接受使用的 STUN 服务器列表...
  • 在没有 ICE 的情况下,数据如何通过 NAT?视频流是一种数据......

标签: javascript webrtc


【解决方案1】:

数据仍然是点对点发送的(不通过服务器传输...除非需要 TURN 服务器)。因此,您仍然使用信令服务器在对等方之间传输 SDP,但使用数据连接条目而不是音频或视频。仍然需要收集和共享 Ice 候选者,以便对等方可以连接,然后在彼此之间直接发送数据。

数据确实通过信令服务器。如果您使用的是 webrtc 数据通道 peerconnection,它仍然是点对点的。

现在,如果您只发送文本消息,您可以使用另一种解决方案(不是 webrtc),将 JSON 对象中的消息发送到服务器,然后将流量中继到聊天中的其他用户。同样,这不是 webrtc 解决方案,绝不会使用 webrtc。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-11
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-12
    • 2011-11-17
    • 1970-01-01
    相关资源
    最近更新 更多