[GPG 3 글 5.6] 윈도우 recv() 리눅스 read() 함수 원리에 관하여..

GPG 시리즈 관련 질답, 논의 공간.

Moderator: 류광

비회원

윈도우 recv() 리눅스 read() 함수 원리에 관하여..

Post by 비회원 »

보통 send()함수는 보낼 때 버퍼사이즈를 넘겨주잖아요?

그리고 recv() 함수로 recv버퍼에 존재하는 버퍼를 읽어들이구요

recv함수는 얼마만큼의 데이터가 버퍼에 있을지 모르기 때문에

버퍼사이즈를 여유있게 넣어주죠.

근데 여기서 recv함수는 버퍼에 존재하는 데이터가 recv()함수 호출할 때 넣어준 버퍼사이즈보다 작은 경우엔

그 버퍼에 있는 데이터량만큼만 recv하고 그 데이터 바이트 크기를 리턴해주잖아요?

그럼 recv함수를 호출 했을 때 어떻게 버퍼에 있는 데이터의 끝을 판별하는지 알고싶어요

예를 들어 char 문자열에는 끝에 '\0' 를 보고 끝을 판별하는데 recv버퍼에 있는 데이터를 읽어들일 때에는

판별하는지 원리가 궁금합니다.

다소 기초적인 내용일 수 있지만.. 답변 부탁드립니다^^