2011-01-14 8 views
1

Wie schreibe ich ein C++/MFC-Programm, um einen Server als Brücke für Clients zu erstellen, um ihre Audiodaten zu streamen? Mir wurde gesagt, dass ich das UDP- und RTP-Protokoll verwenden sollte, aber aufgrund meines Mangels an Medien-Streaming konnte ich es nicht funktionieren lassen. Was ist die Beziehung zwischen UDP und RTP und die Schritte, die der Server benötigt, um die Paketübertragung zwischen Client und Client zu überwachen, zu akzeptieren und zu verarbeiten.Wie kann ich sowohl RTP- als auch UDP-Protokolle anwenden, um Audio-Streaming zu erreichen?

Antwort

1

Wie gesagt, im Allgemeinen läuft RTP auf UDP. Es nennt sich ein nahtloses Protokoll.

Dies ist die Spezifikation von UDP: http://www.ietf.org/rfc/rfc768.txt

Eine dieser die Spezifikation von RTP ist: http://www.ietf.org/rfc/rfc1889.txt

Sie können auf this Website sehr nützliche Informationen über RTP finden. Es gibt verschiedene Bibliotheken und Dokumente.

Es ist möglich, eine "RTP forwarder" -Anwendung zu schreiben.

+0

Vielen Dank für Ihr informatives Feedback. –

1

RTP läuft im Allgemeinen über UDP, um TCPs Streaming-Verhalten zu umgehen, liefert TCP immer Daten in der richtigen Reihenfolge, was für Echtzeitanwendungen nicht optimal ist.

Es könnte möglich sein, eine "dumme" Weiterleitung zu machen, die nicht RTP-fähig ist, sondern stattdessen z. Akzeptieren von UDP-Paketen an Port X und Weiterleiten des gesamten Datenverkehrs an Host: Y, Paket für Paket. Nicht sicher, ob das in der Praxis funktioniert.

+0

Vielen Dank für Ihr informatives Feedback. –

Verwandte Themen