Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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.

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.

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

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

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.

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

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.

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

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.