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
2019. 07. 26. 02:46
데이터를 전송하는 과정에서 EOF는 우리가 버퍼에 설정해서 넣어주는 것이 아닙니다. stdin이나 어떤 소켓에 대해 모든 데이터를 다 읽어서 더 이상 읽을 데이터가 없을 때 커널이 EOF 상태가 됐다고 알려준다고 이해하시는 것이 좋을 것 같습니다.