• 카테고리

    질문 & 답변
  • 세부 분야

    시스템

  • 해결 여부

    미해결

read API가 많이 헷갈립니다

19.07.25 00:06 작성 조회수 100

0

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

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

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

답변 1

답변을 작성해보세요.

0

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