Gerhard Knabe: C/C++ recv oder wie empfängt man Nachrichten?

Beitrag lesen

TCP ist ein Stream-basiertes Protokoll, kein Paket-basiertes wie UDP. Es gibt folglich keine "natürlichen" Grenzen einer Nachricht, sondern lediglich einen Byte-Datenstrom. Du musst in der Folge der Bytes also schon selbst erkennen, wo eine Nachricht zu ende ist und eine neue beginnt. Wie das zu erkennen ist kann die ich dir nicht sagen, da mir das verwendete Protokoll nicht bekannt ist. Bei HTTP z.B. gibt es diverse Regeln (für Message-Type, Transfer-Encoding, Content-Length etc.), wie der Empfänger einer Nachricht das Ende erkennt, nachzulesen in der entsprechenden RFC.

MfG
GK