socket() 으로 생성되는 소켓은 기본값으로 Blocking 소켓이다. 하지만 이미 생성된 소켓을 fcntl() 함수를 사용하여 nonblocking socket으로 변경 가능하다. ※ Blocking Socket(B)/Nonblocking Socket(N) (여기서 errno는 errno.h를 인클루드해야 이용할수 있다.) - read B : read 버퍼가 비어있을때 block N : read 버퍼가 비어있을때 -1 return, errno==EWOULDBLOCK/EAGAIN * Blocking socket의 경우에 read 버퍼에 존재하는 데이터의 크기가 read시 요청한 데이터의 크기보다 작은 경우라도 read 버퍼에 존재하는 데이터만큼 리턴되며 block 되지 않음. - write B : w..