TCP는 메시지가 아니라 바이트 흐름이므로 프레임을 직접 잘라야 한다
recv() 한 번은 메시지 하나가 아니다. 애플리케이션이 길이, 구분자, 상태를 기준으로 메시지 경계를 복원한다.
1 bytes붙거나 쪼개진 바이트여러 메시지가 한 번에 올 수 있음
2 buffer누적 버퍼모자란 바이트를 보관
3 parse길이 또는 구분자 확인완성 여부 판정
4 emit메시지 하나 반환남은 바이트는 다음 파싱으로
프레이밍
좋은 점
주의할 점
length prefix
본문 길이를 먼저 알 수 있음
길이 필드 검증과 최대 크기 제한 필요
delimiter
텍스트 프로토콜에 단순
본문 안 구분자 escape 필요
fixed size
파싱이 빠름
가변 데이터에는 낭비가 큼