Woran würde man das erkennen, wie würde man dieses Ende definieren? Falls die Information über das Ende in den Nutzdaten steckt, müsstest du das auch auf der Ebene abfrühstücken. Das heißt, du musst beim Empfang schon die Daten analysieren und auf "logischer Ebene" eine Endekennung realisieren.
Nehmen wir mal als Beispiel Protokol HTTP.
Bei GET-Requests ist \r\n\r\n das Ende.
Bei POST-Anfragen gibt es im Header Content-length: x
Da muss man x Zeichen nach dem Header lesen.
Aber mal angenommen jemand schickt mir ein Request die so aussieht:
POST / HTTP/1.1\r\n
Content-length: 5\r\n
... ...\r\n\r\n
f=34
Folge ist das ein Zeichen laut Headerinformation fehlt. Also warte ich auf das Zeichen. Aber es kommt hald keins.
Soll ich dann eine solche Anfrage verwerfen?
Und das Warten soll dann durch ein Timeout abgebrochen werden?
Das wäre soweit ja ok.
Aber gibt es wirklich keine andere Möglichkeit ein Ende in so einem Stream zu finden? (Dateiendekennung?!)
M. J. J.