2017-12-06 2 views
1

Ich bin derzeit auf der Suche nach einer netten asp.net Implementierung von webrtc für Video-Chat zwischen zwei Personen. Ich habe den folgenden Beispielcode gefunden, den ich ausprobiert und bearbeitet habe, aber mein Verständnis in webrtc ist nicht gut genug, um zu sehen, warum der Code nur in lokalen Netzwerken und nicht mit Leuten außerhalb des Netzwerks funktioniert.WebRTC mit SignalR funktioniert nur im lokalen Netzwerk

Das Projekt: https://github.com/mgiuliani/webrtc-video-chat

Es ist auch ein Thema in der Github, das das gleiche Problem erzählt, aber ich kann nicht herausfinden, was das Problem ist.

+1

siehe https://github.com/alexan1/SignalRTC – Alexan

+0

@Alexan danke für die Antwort. Ich schaue mir das morgens an. Fand das noch nicht so große Hilfe! – Julian

+0

@Alexan scheint das gleiche Problem zu haben. Es funktioniert, wenn beide Clients mit demselben Netzwerk verbunden sind. Aber wenn nicht, wird es nicht funktionieren. – Julian

Antwort

0

Die Lösung war zwei Dinge. Verwenden Sie zuerst einen TURN-Server. Ein Stun-Server war nicht gut genug für meine Verbindung. (hat mit Firewalls usw. zu tun, soweit ich das verstehe).

Zweitens das icecandidates zu warten, ich brauchte das Hinzufügen, bis die remotedescription gesetzt war, hatte felixhagspiel ein großes Tutorial auf, dass hier:

http://blog.felixhagspiel.de/index.php/posts/create-your-own-videochat-application-with-html-and-javascript

Blick auf dem Teil mit ‚otherSDP‘.

+0

Können Sie hier Informationen über TURN Server hinzufügen? – Alexan

0

Wahrscheinlich hinzufügen TURN-Server kann von Vorteil sein, aber in diesem Fall war das Problem mit STUN-Server.

STUN-Server, den ich verwendet: stun:74.125.142.127:19302, praktisch aufhören zu arbeiten.

Ich ersetzte es zu: stun:stun.l.google.com:19302 und jetzt meine Website: https://signalrtc.com/ funktioniert wieder.

Wahrscheinlich ist es besser, mehrere STUN (und vielleicht auch TURN) Server zu verwenden, deren Liste Sie finden können here und überprüfen Sie sie here.

Also eigentlich ist es genug STUN-Server zu verwenden, wird TURN als Ausweichlösung verwendet:

  • Ein STUN-Server verwendet wird, um eine externe Netzwerkadresse zu erhalten.
  • TURN-Server werden verwendet, um den Datenverkehr weiterzuleiten, wenn eine direkte (Peer-to-Peer-) Verbindung fehlschlägt.

Weitere Informationen this tutorial.

+0

führen Sie Ihren eigenen Stun-Server. Wenn Sie mehr als einen Stun-Server verwenden, wird die Kandidatensuche verlangsamt. Weitere Informationen finden Sie in der Firefox-Konsole. –

Verwandte Themen