2017-07-11 2 views
0

Je travaille sur un projet de création d'une communication WebRTC entre une application Android et une page Web (Basé sur Angular 2).WebRTC - Communication entre différents réseaux

J'ai créé les deux applications et la communication fonctionne correctement lorsque les 2 périphériques sont dans le même réseau.

Mon problème est dans le cas de deux réseaux. Pour cela, j'utilise un serveur TURN.

Dans mon application angulaire j'ajouter le RTCConfiguration comme ceci:

conf: RTCConfiguration = {'iceServers': [ 
    { 'urls': 'stun:numb.viagenie.ca'} 
]}; 

... 

this.pc = new RTCPeerConnection(this.conf); 

Et dans mon application Android J'utilise ceci:

iceServers.add(new PeerConnection.IceServer("stun:numb.viagenie.ca")); 

J'ai aussi testé le système Google TURN Server (stun:stun.l.google.com:19302).

Dans les journaux des internats WebRTC, la seule différence entre les deux cas est que je ne reçois jamais un IceConnectionChanged: CONNECTED lorsque nous utilisons l'application entre deux réseaux différents.

J'ai vu beaucoup de messages sur le même sujet mais aucun d'eux ne m'a aidé.

Quelqu'un peut-il m'aider?

Merci

+0

Vous utilisez STUN, pas TURN (et il n'y a rien de tel que [free TURN servers] (https://stackoverflow.com/a/42104795/918910)). Dans la majorité des cas, STUN devrait fonctionner correctement, mais dans certaines situations, seul TURN fonctionnera. – jib

Répondre

0

Comme foc mentionné, vous n'aurez pas libre TS mieux essayer d'installer COTURN (opensource autre essayer xirsys etc) comme TS dans l'une de votre serveur mais avant d'essayer de tester tout le réseau pare-feu derrière lequel vos utilisateurs sont, est symétrique. Si un utilisateur est derrière un pare-feu symétrique, seul le serveur TURN sera utile.

Egalement étourdissement: stun.l.google.com: 19302 le serveur que vous avez mentionné est un serveur STUN non TOURNÉ. Vérifiez également d'autres éléments réseau tels que l'inondation UDP et aucune limitation de bande passante n'est effectuée dans n'importe quel pare-feu.