read API가 많이 헷갈립니다
159
작성한 질문수 158
snprintf(buf, sizeof(buf), "this is msg from sock_stream");
buf에 저렇게 저장해서 보내면 받는 쪽에서 read로 받을텐데
read API를 자세히 보면 EOF를 만났을 때 0을 리턴한다는데 실제로는 저 버퍼에는 EOF라는 -1이 들어가지 않고, 널문자로 마무리하는데 어떻게 EOF를 인식하는거죠? 자동으로 들어가는건가요?
답변 1
0
데이터를 전송하는 과정에서 EOF는 우리가 버퍼에 설정해서 넣어주는 것이 아닙니다. stdin이나 어떤 소켓에 대해 모든 데이터를 다 읽어서 더 이상 읽을 데이터가 없을 때 커널이 EOF 상태가 됐다고 알려준다고 이해하시는 것이 좋을 것 같습니다.
fork() 후 address
0
40
2
bind(): Address already in use
0
59
2
POSIX named semaphore 자원이 제대로 해지되지 못한 상태로 프로세스가 종료됐을 때 해당 semaphore 재사용 방법
0
216
2
강의 순서
0
262
1
강의자료 질문
0
244
1
수업 관련 질문
0
354
3
안녕하세요! 메세지 큐 방식에 대해 질문있습니다.
0
268
1
리눅스는 디버깅이 없나요?
1
722
1
fcntl 에서 Read/Write 기능
1
354
1
시스템 프로그래밍 향후 공부
1
507
1
Shared Memory와 동기화 관련
1
1182
1
거의 모든 함수를 static 선언하시는 이유는 무엇인가요?
1
2328
1
SHM_REMAP
1
318
2
recvfrom 질문
1
715
6
컴파일 질문입니다
1
675
1
partial send/recv에 관하여
1
670
1
스레드끼리의 통신에도 적용가능한가요?
1
375
1
File Lock API - 정리 table에서 multi-thread 사용가능시....
1
412
1
WSL Ubuntu에서 메시지 큐
1
464
1
shared memory(14강) live programming file mapping 에 관한 질문입니다.
1
205
1
에러 - bind(): Address already in use
1
1138
1
POSIX MQ의 설정 문의
1
604
2
accept 함수에 대한 문의
1
295
1
datagram socket 구현시 recvfrom에서 블록킹됩니다.
1
1507
1





