【发布时间】:2012-11-29 07:29:18
【问题描述】:
我正在开发一个实现 webRTC 技术的项目,我想知道我是否可以使用数据通道来像 webSockets 那样发送信号,或者数据通道可以通过发送全局数据来替换对等连接,所以我需要使用 webSockets 来制作到服务器的信号部分?
【问题讨论】:
我正在开发一个实现 webRTC 技术的项目,我想知道我是否可以使用数据通道来像 webSockets 那样发送信号,或者数据通道可以通过发送全局数据来替换对等连接,所以我需要使用 webSockets 来制作到服务器的信号部分?
【问题讨论】:
其实答案是肯定的。
让我详细说明一下:一旦连接了 PeerConnection(通过任何方式 - WebSockets、https 等),那么您可以重新协商(新的 CreateOffer/CreateAnswer/etc)并通过 DataChannel 发送它们。这意味着在某些情况下,重新协商明显更快,特别是对于两个端点都远离服务器的情况,或者如果两者都在同一个 LAN 中,等等(也降低了服务器上的负载,尽管这可能无关紧要,并且不依赖于维护呼叫状态的服务器。)
您还可以通过 PeerConnection 使用 DataChannel 到充当会议中心或信令服务器的服务器,以用于重新协商(在会议中)以及与连接到中心或服务器的其他人建立连接。
如果是“我想直接随机连接到其他人而不通过服务器”,答案是否定的;您首先需要一个连接的 PeerConnection。如果您想交换报价和答案,可以使用IPoAC。完成上述操作后,您可以使用 DataChannels(它可能会快一点)。
【讨论】:
我认为没有!!!
因为第一次握手,你需要一个服务器来发信号。
而且我认为如果没有握手,我们将无法使用 DataChannel 共享文本或文件。
我对@987654321@ 做了同样的事情! -- 见source code。我使用PubNub 进行信令和ICE交换。
【讨论】:
正如jesup所说,答案是肯定的。
信令可以通过任何传输进行。我建议使用 websockets,因为大多数 browsers support it。
如果您不想经历设置自己的信令服务器的麻烦,您可以使用 Pubnub 或 Pusher 为您处理。
如果您有兴趣了解更多信息,请参阅webRTC signaling 教程。
http://pusher.com/tutorials/webrtc_chat
免责声明:我在 Pusher 工作。
【讨论】: