UDP Socket: Message too long

02/12/2008 - 12:03 von toobee84 | Report spam
Hi,

ich schreib mir grad ein Programm um mit UDP Sockets Daten zu
versenden. Klappt soweit wunderbar, nur wenn ich zu große Pakete
losschicke ~10.000 Byte gibts ein Message too long error.
Nun hàtte ich erwartet das die Pakete automatisch Fragmentiert werden,
was ja scheinbar hier nicht passiert ist. Liegt das an falscher
Programmierung oder kann das UDP so nicht und die darüberliegende
Anwendung muss die Daten entsprechend aufteilen?

Wenn ja, wie kennzeichne ich mehrer Pakete als zusammengehörig? Ich
kann ja bei normalen UDP-Sockets den Header nicht selber manipuliren
(um das More-Fragmentsbit zu setzen)

Danke für Antwort.
 

Lesen sie die antworten

#1 Thomas Koller
02/12/2008 - 12:51 | Warnen spam
wrote:

ich schreib mir grad ein Programm um mit UDP Sockets Daten zu
versenden. Klappt soweit wunderbar, nur wenn ich zu große Pakete
losschicke ~10.000 Byte gibts ein Message too long error.
Nun hàtte ich erwartet das die Pakete automatisch Fragmentiert werden,
was ja scheinbar hier nicht passiert ist. Liegt das an falscher
Programmierung oder kann das UDP so nicht und die darüberliegende
Anwendung muss die Daten entsprechend aufteilen?

Wenn ja, wie kennzeichne ich mehrer Pakete als zusammengehörig? Ich
kann ja bei normalen UDP-Sockets den Header nicht selber manipuliren
(um das More-Fragmentsbit zu setzen)



Was hat das mit C zu tun?

Nur so viel off-topic. UDP übernimmt die Làngen vom darunterliegenden
Protokol und legt selbst nur die Untergrenze von 8 und die Obergrenze
von 65535 fest.

Wenn du wirklich grosse Pakete mit UDP übertragen willst, solltest du
dich fragen warum UDP. Als zusammengehörig müsstest du es auf
Applikationsebene kennzeichnen.

Tom

Ähnliche fragen