Zwer2k Geschrieben 29. Dezember 2006 Geschrieben 29. Dezember 2006 Hallo, gibt es möglichkeiten TCP/IP-Overhead eine Socket-Verbindung zu reduzieren (z.B. mit setsockopt() )? Hintergrund: Ich versuche über eine 10MBit Halbduplex Verbindung ein TS-Videostrem zu verschicken, dabei gibt es bei höheren Bitraten immer wieder aussetzer. Zitieren
Bubble Geschrieben 29. Dezember 2006 Geschrieben 29. Dezember 2006 Verwende UDP, reduziere die zu übertragenden Daten oder erhöhe die Übertragungsrate der Verbindung. Was Du machen kannst hängt letztlich auch davon ab, wie Dein Programm bisher vorgeht. Zitieren
moo_kuh Geschrieben 29. Dezember 2006 Geschrieben 29. Dezember 2006 Hallo, gibt es möglichkeiten TCP/IP-Overhead eine Socket-Verbindung zu reduzieren (z.B. mit setsockopt() )? Hintergrund: Ich versuche über eine 10MBit Halbduplex Verbindung ein TS-Videostrem zu verschicken, dabei gibt es bei höheren Bitraten immer wieder aussetzer. Hi, naja ohne ein paar Codeteile werden wir dir kaum weiterhelfen können Welchen Socket Typ verwendest du denn? Socket Types and Protocols Gruß moo_kuh Zitieren
nic_power Geschrieben 1. Januar 2007 Geschrieben 1. Januar 2007 Hallo, Verwende UDP, Bei einem Videostream wird er ja hoffentlich schon UDP oder RTP verwenden. gibt es möglichkeiten TCP/IP-Overhead eine Socket-Verbindung zu reduzieren (z.B. mit setsockopt() )? Nein, gibt es nicht. Die Headergröße ist fest. D.h. Du kannst nur an Deiner Payload optimieren in dem du beispielsweise eine grosse Playload wählst (beispielsweise 1492 Bytes). Nic Zitieren
Bubble Geschrieben 1. Januar 2007 Geschrieben 1. Januar 2007 Bei einem Videostream wird er ja hoffentlich schon UDP oder RTP verwenden. Kaum, sonst hätte er vermutlich nicht gefragt, wie er den TCP Overhead reduzieren kann. Es muss aber gesagt werden, dass die Verwendung von UDP die Sache verkompliziert, sobald man mit Paketverlusten umgehen können will. Zitieren
nic_power Geschrieben 1. Januar 2007 Geschrieben 1. Januar 2007 Kaum, sonst hätte er vermutlich nicht gefragt, wie er den TCP Overhead reduzieren kann. Es wurde nach TCP/IP gefragt. Das beschreibt die komplette Protokollfamilie und nicht nur TCP. Es muss aber gesagt werden, dass die Verwendung von UDP die Sache verkompliziert, sobald man mit Paketverlusten umgehen können will. UDP/RTP ist für Live-Video die einzig sinnvolle Möglichkeit. TCP ist aufgrund der Flusskontrolle ungeeignet; für Web-Streaming + Co kann man auch TCP verwenden. Ein TS Strom deutet jedoch auf einen Live-Strom mit hoher Bandbreite hin. @Zwer2k: Um was für eine Anwendung handelt es sich denn und wie sehen die Streams im einzelnen aus? Hast Du mal kontrolliert an welcher Stelle die Paketverluste auftreten? Kommen die Daten nicht an bzw. wie gross ist der Empfangspuffer und wie gross sind die Pakete? Beschreibt Dein Szenario mal etwas genauer. Nic Zitieren
Bubble Geschrieben 1. Januar 2007 Geschrieben 1. Januar 2007 Es wurde nach TCP/IP gefragt. Das beschreibt die komplette Protokollfamilie und nicht nur TCP. IP ist das Protokoll auf Schicht 3. Auf diesemm setzt TCP in Schicht 4 auf. UDP ist ein alternatives, ebenfalls in Schicht 4 angesiedeltes, Protokoll. UDP/RTP ist für Live-Video die einzig sinnvolle Möglichkeit. Das stimmt in dieser Pauschalität nicht. Man kann auch Übertragungs-Systeme konstruieren, die auf TCP-Streams aufsetzen. Es kommt immer darauf an, was man erreichen möchte. Diesbezüglich wurde nichts geasgt. Zitieren
nic_power Geschrieben 1. Januar 2007 Geschrieben 1. Januar 2007 Hallo, IP ist das Protokoll auf Schicht 3. Auf diesemm setzt TCP in Schicht 4 auf. UDP ist ein alternatives, ebenfalls in Schicht 4 angesiedeltes, Protokoll. Auch wenns OT wird. TCP/IP beschreibt eine komplette Protokollfamilie, TCP ist eines der vielen Protokolle der TCP/IP Protokollfamilie. Wenn Du näheres wissen möchtest, solltest Du mal einen Blick auf den folgenden Artikel werfen: Internetprotokollfamilie - Wikipedia Es wurde nicht (siehe ersten Artikel) nach TCP gefragt, sondern nach TCP/IP. Das ist ein Unterschied! Nic Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.