Length-prefix frame для «Привет»: 16 application bytes проходят short send, произвольные recv chunks и stateful parser.
TCP предоставляет приложению надёжный упорядоченный поток bytes. Он не сохраняет границы между вызовами send(), TCP segments и вызовами recv(). Поэтому application protocol обязан определить framing поверх stream.
В примере frame состоит из 4-byte unsigned length в network byte order и payload. «Привет» содержит 6 Unicode characters, но 12 bytes в UTF-8, поэтому весь frame занимает 16 bytes. Sender повторяет send() до передачи всех 16 bytes. Receiver накапливает произвольные positive chunks, сначала дожидается полного prefix, проверяет length, затем дожидается ровно указанного payload и продолжает parse loop для следующего frame.
Введите числа или выберите пресет