udp sockets und null byte terminierung
-
Hallo Zusammen,
ich habe eine Reihenfolge von bytes, die ich durch udp sockets verschicken moechte. Das Problem dabei ist, wenn ich eine null byte in stream habe,
terminiert Server den Datentransfer, ab der ersten null-byte Stelle..
Als Beispiel:setting packet length |0,16|1,15|2,15|3,193|4,175|5,134|6,134|7,0|8,0|9,13|10,101|11,0|12,8|13,3|14,2|
Der Server empfaengt bis zur 7.byte
|7,0|
obwohl beim recvfrom() eine feste buffer
Groesse angegeben ist. Diese Groesse ist 160 Byte, viel mehr als 15 Bytes von
obigen byte array... Geht es ueberhaupt den Server dazu beizubringen, dass
er dann die Verbindung terminieren soll, wenn schon festgelegte buffer groesse
von 160 gelesen ist?Ich nehme an, einige wundern warum null bytes in stream vorhanden sein soll:
Weil sie ein teil von 4 bytes sind, die auf dem Serverseite zusammengefuegt
werden sollten.Danke im voraus,
-
Woraus schließt du denn, dass die Übertragung beim Nullbyte stoppt?
Vermutlich benutzt du einfach nur irgendwo in der Verarbeitung der Daten eine Funktion, die von einer Nullterminierung ausgeht, z.B. strlen oder printf.
-
Du kannst /dev/zero übertragen bis es leer ist, das ist UDP doch herzlich egal.
-
Hallo zusammen,
danke fuer die Postings. Ja es war ein unnoetiger null-byte fall-unterscheidung
was mich zu einer falschen Behauptung gefuehrt hat.. block ist raus und jetzt
ist es alles paletti.Gruss,