我正在尝试将WebRTC用于纯粹的分散式和点对点通信。我正在尝试构建一个P2P覆盖网络,其中节点交换其他节点的详细信息,以便它们可以连接到它们。
如果我在节点之间交换SDP blob(session description objects),那么它们是可重用的,因为我可以简单地给定一个节点和一个ICE候选者建立与节点的连接吗? / p>
答案 0 :(得分:4)
一般不会:您需要来自PeerConnection源的优惠;不能保证PC1的blob可以与PC2一起使用(可能不能)。现在,如果他们已经创建了一个peerconnection,完成了CreateOffer,并保持对等连接,直到该SDP被使用 - 然后是,但是那'不是真的'重用“。
你可能会侥幸成功,但现在或未来的各种事情可能会半随机打破你。最佳解决方案是从源节点创建商品,并通过p2p网络将其传递给目标节点,然后目标节点可以传回响应。如果你可以让PC保持活着以等待传入的交易,那么“源”可以将其用于createAnswer,并通过p2p网络切断一次。您需要处理冲突(两个节点尝试使用通过网络分发的相同商品;基本上,失败/重试设置应该在极少数情况下处理它)。您还可以在答案中包含一个提议,以防万一发生碰撞。