2013-07-05 11 views
5

Próbuję użyć WebRTC wyłącznie do komunikacji zdecentralizowanej i z komunikacją peer-to-peer. Próbuję zbudować sieć nakładek P2P, w której węzły wymieniają szczegóły innych węzłów, aby mogły się z nimi połączyć.Czy bloby WebRTC SDP są wielokrotnego użytku między równorzędnymi użytkownikami?

Gdybym wymieniać plamy SDP (session description objects) między węzłami są wielokrotnego użytku w tym sensie, że mogę nawiązać połączenie do węzła po prostu danej ten blob i ICE kandydata?

Odpowiedz

4

Generalnie nie: potrzebujesz oferty ze źródła PeerConnection; nie ma gwarancji, że blob na PC1 może być użyty z PC2 (i prawdopodobnie nie może). Teraz, jeśli stworzyli połączenie peerconnection, wykonali CreateOffer i przytrzymali połączenie peerconnection, dopóki SDP nie zostanie użyty - wtedy tak, ale to "nie jest tak naprawdę" ponowne użycie ".

Możesz uciec, ale różne rzeczy teraz lub w przyszłości mogą cię złamać częściowo losowo. Najlepszym rozwiązaniem jest utworzenie oferty z węzła źródłowego i przekazanie jej przez sieć p2p do węzła docelowego, który może następnie przekazać odpowiedź zwrotną. Jeśli możesz utrzymać komputer przy życiu, aby czekać na przychodzące transakcje, "źródło" może użyć tego dla createAnswer i przerwać jedną podróż przez sieć p2p. Musiałbyś poradzić sobie z kolizjami (dwa węzły próbują użyć tej samej oferty, która była dystrybuowana przez sieć, w zasadzie konfiguracja fail/retry powinna obsłużyć ją w rzadkich przypadkach, gdy jest potrzebna). Możesz również dołączyć do odpowiedzi ofertę do wykorzystania na wypadek kolizji.

+0

Czy możesz uzasadnić swój argument, że blob na PC1 nie może być użyty z PC2? Nie dlatego, że wątpię w ciebie, chciałbym tylko wiedzieć, jaki aspekt temu zapobiega. – liamzebedee

Powiązane problemy