2016-08-04 2 views
1

Je cherche une solution où un pair envoie une offre et si pour une raison quelconque (peut être dû à une panne réseau ou l'autre pair n'est pas encore démarré) il doit revenir à l'état stable (avec & distant sdp local défini sur null) afin qu'il puisse gérer les messages d'offre ultérieurs d'autres homologues.impossible de définir une description locale en gérant la condition de concurrence en raison de l'échange d'offres simultanées

Quelqu'un peut-il expliquer comment s'y prendre?

+0

J'ai suivi l'approche ci-dessous pour gérer la situation ci-dessus. –

+0

Je l'ai géré en contrôlant l'offre et l'échange de réponses en utilisant un mécanisme de type sémaphore binaire sur le serveur de signalisation. Mais, je suis confronté à un autre problème maintenant. Je ne suis pas en mesure d'envoyer un flux vidéo à l'homologue distant. la transmission vidéo se passe dans une seule direction. J'utilise un seul objet de connexion homologue. –

Répondre

1

J'ai juste fait face au même problème, et j'ai trouvé que ce problème avait un nom: il s'appelait "éblouissement".

Cette personne a répondu à une question similaire: https://stackoverflow.com/a/29552565/1690115

Mais il y a de meilleures solutions, basées sur des jetons au hasard. L'idée est que les pairs ajoutent toujours un nombre aléatoire le long de leur offre. Lorsque le pair A et le pair B remarquent la collision (parce qu'ils reçoivent chacun une offre alors qu'ils ont une offre exceptionnelle), celui qui a le plus gros jeton gagne.

Je ne suis pas un expert sur WebRCT et l'éblouissement, mais j'espère que cela a aidé un peu. Vous pouvez trouver de nombreuses solutions sur google en cherchant "webrtc éblouissement".