소켓 프로그래밍을 입문해서 이제 막 공부를 시작했는데요,
궁금한게 생겨 이렇게 질문 드립니다.
TCP/IP를 이용하면 신뢰할 수 있는 데이터 전송이 보장되고,
Application level에서 프로그래밍을 할 때 서버와 클라이언트 간 프로토콜을 정의해야 한다고 배웠습니다.
만약 클라이언트에서 write(sock, buffer, 100);과 같이 데이터를 전송하고
처음 10 바이트에 헤더 정보가 있어서
서버에서 read(sock, buffer, 10)과 같이 헤더 데이터를 먼저 받는다고 할 때에
이렇게 read로 데이터를 읽는다고 하면 서버쪽 socket 버퍼에 클라이언트에서 보낸 데이터가 10바이트 이상 들어왔다는 가정이 있어야 하는데
이런건 따로 확인 안해도 되는건가요? 만약 아직 5바이트만 들어왔는데, read(sock, buffer, 10)이 호출되면 5바이트만 들어올텐데 이런 경우도 대비해서 코딩해야겠죠?