인프런 커뮤니티 질문&답변

유영재님의 프로필 이미지

작성한 질문수

리눅스 IPC 프로그래밍 - 이론과 실습

- Live Programming(Stream Socket - Part 1)

read API가 많이 헷갈립니다

19.07.25 00:06 작성

·

134

0

snprintf(buf, sizeof(buf), "this is msg from sock_stream");

buf에 저렇게 저장해서 보내면 받는 쪽에서 read로 받을텐데

read API를 자세히 보면 EOF를 만났을 때 0을 리턴한다는데 실제로는 저 버퍼에는 EOF라는 -1이 들어가지 않고, 널문자로 마무리하는데 어떻게 EOF를 인식하는거죠? 자동으로 들어가는건가요?

답변 1

0

런잇(ProgCoach4U)님의 프로필 이미지
런잇(ProgCoach4U)
지식공유자

2019. 07. 26. 02:46

데이터를 전송하는 과정에서 EOF는 우리가 버퍼에 설정해서 넣어주는 것이 아닙니다. stdin이나 어떤 소켓에 대해 모든 데이터를 다 읽어서 더 이상 읽을 데이터가 없을 때 커널이 EOF 상태가 됐다고 알려준다고 이해하시는 것이 좋을 것 같습니다.