Moin,
ich gehe an einen einfachen TCP-Server (embOS) und frage ihn nach diversen Daten.
Das geht prinzipell in etwa ja so wie aus dem folgenden stark vereinfachten Code-Schnippsel hier ausm Forum.
Man liest die Antwort in Häppchen, sogenannten chunks. Bei mir tut das nicht wirklich. Im Moment steht ich auf dem Schlauch und weiß nicht so das Problem liegt. Kann mich jemand in die richtige Richtung stubsen?
Typischerweise ist Bytes ein Array of Byte mit einer gewissen Dimension (512 oder 1024 oder irgendwas anderes). Bei mir liest er den ersten Chunk ein und bricht dann ab wenn das letzte Häppchen kleiner ist als die Arraylänge. Der letzte Rest geht verloren weil eine Exception geschmissen wird.
Ich habe das jetzt so gelöst, dass der erste Aufruf von read 1024 Bytes liest und in der While-Schleife jeweils nur 1 Byte gelesen wird. Das ist nicht im Sinne des Erfinders, aber es tut.
Habe ich in den Einstellungen irgendwas übersehen oder warum sind alle Beispiele im Netz mit dieser Chunk-Sache so aufgebaut wie oben kurz angerissen, d.h. mit z.B. 512 oder 1024 Länge. Nirgends wird ein Problem genannt, wenn z.B. 2000 Bytes in 1024er chunks gelesen werden sollen. Mein ASCII-Text, den ich lese, ist so um die 1800-1900 Bytes lang.
Gruß
MQ
ich gehe an einen einfachen TCP-Server (embOS) und frage ihn nach diversen Daten.
Das geht prinzipell in etwa ja so wie aus dem folgenden stark vereinfachten Code-Schnippsel hier ausm Forum.
Man liest die Antwort in Häppchen, sogenannten chunks. Bei mir tut das nicht wirklich. Im Moment steht ich auf dem Schlauch und weiß nicht so das Problem liegt. Kann mich jemand in die richtige Richtung stubsen?
Typischerweise ist Bytes ein Array of Byte mit einer gewissen Dimension (512 oder 1024 oder irgendwas anderes). Bei mir liest er den ersten Chunk ein und bricht dann ab wenn das letzte Häppchen kleiner ist als die Arraylänge. Der letzte Rest geht verloren weil eine Exception geschmissen wird.
Ich habe das jetzt so gelöst, dass der erste Aufruf von read 1024 Bytes liest und in der While-Schleife jeweils nur 1 Byte gelesen wird. Das ist nicht im Sinne des Erfinders, aber es tut.
Habe ich in den Einstellungen irgendwas übersehen oder warum sind alle Beispiele im Netz mit dieser Chunk-Sache so aufgebaut wie oben kurz angerissen, d.h. mit z.B. 512 oder 1024 Länge. Nirgends wird ein Problem genannt, wenn z.B. 2000 Bytes in 1024er chunks gelesen werden sollen. Mein ASCII-Text, den ich lese, ist so um die 1800-1900 Bytes lang.
Gruß
MQ