lia*_*dee 5 javascript html5 sdp webrtc
我正在尝试将WebRTC用于纯粹的分散式和点对点通信.我正在尝试构建一个P2P覆盖网络,其中节点交换其他节点的详细信息,以便它们可以连接到它们.
如果我在节点之间交换SDP blob(会话描述对象),那么它们是否可以重用,因为我可以简单地给出这个blob和ICE候选者建立到节点的连接?
一般不需要:您需要来自源 PeerConnection 的报价;无法保证 PC1 的 blob 可以与 PC2 一起使用(而且很可能不能)。现在,如果他们创建了对等连接,完成了 CreateOffer,并保留对等连接直到 SDP 被使用 - 那么是的,但这并不是真正的“重用”。
你可能会侥幸逃脱,但现在或将来的各种事情可能会半随机地击垮你。最好的解决方案是从源节点创建报价,并将其通过 p2p 网络传递到目标节点,然后目标节点可以传回响应。如果您可以保持一台 PC 处于活动状态以等待传入事务,则“源”可以将其用于 createAnswer,并通过 p2p 网络缩短一趟。您需要处理冲突(两个节点尝试使用通过网络分发的相同报价;基本上,失败/重试设置应该在极少数需要的情况下处理它)。您还可以在答案中添加一个报价,以备发生冲突时使用。