2013-07-05 8 views
5

Ich versuche, WebRTC für rein dezentralisierte und Peer-to-Peer-Kommunikation zu verwenden. Ich versuche, ein P2P-Overlay-Netzwerk aufzubauen, in dem Knoten Details anderer Knoten austauschen, damit sie sich mit ihnen verbinden können.Sind WebRTC SDP-Blobs zwischen Peers wiederverwendbar?

Wenn ich SDP Blobs (session description objects) zwischen den Knoten auszutauschen, sind sie wiederverwendbar in dem Sinne, dass ich eine Verbindung zu einem Knoten einfach diese Blob und ein ICE Kandidaten gegeben etablieren konnte?

Antwort

4

Allgemein nein: Sie benötigen ein Angebot von der Quelle PeerConnection; Es gibt keine Garantie, dass ein Blob für PC1 mit PC2 verwendet werden kann (und wahrscheinlich nicht). Nun, wenn sie eine Peer-Verbindung erstellt haben, CreateOffer getan haben, und die Peer-Verbindung beibehalten, bis diese SDP verwendet wird - dann ja, aber das "nicht wirklich" wiederverwendet werden.

Sie könnten damit durchkommen, aber verschiedene Dinge jetzt oder in der Zukunft könnten Sie halb zufällig reißen. Die beste Lösung besteht darin, ein Angebot vom Quellknoten zu erstellen und es über das P2P-Netzwerk an den Zielknoten zu übergeben, der dann eine Antwort zurückgeben kann. Wenn Sie einen PC am Leben lassen können, um auf eingehende Transaktionen zu warten, könnte die "Quelle" diese für createAnswer verwenden und eine Fahrt durch das P2P-Netzwerk unterbrechen. Sie müssten sich mit Kollisionen befassen (zwei Knoten, die versuchen, das gleiche Angebot zu verwenden, das über das Netzwerk verteilt wurde; im Grunde sollte ein Fail/Retry-Setup in den seltenen Fällen, in denen es benötigt wird, funktionieren). Sie können der Antwort auch ein Angebot hinzufügen, das nur für den Fall einer Kollision verwendet werden soll.

+0

Können Sie Ihr Argument rechtfertigen, dass ein Blob für PC1 nicht mit PC2 verwendet werden kann? Nicht, dass ich dich bezweifle, ich möchte nur genau wissen, welcher Aspekt dies verhindert. – liamzebedee

Verwandte Themen