recv같은 경우는
if((recvSize=recv(sock,buffer,packetSize - totalRecvSize,0)) <= 0)
{
if(recvSize == -1 && errno==EWOULDBLOCK)
return 0;
else
return -1;
}
위와 같이 에러처리를 하고 있습니다.
물론 소켓은 넌블록 소켓입니다.
recv의 반환값이 0이면 client측에서 연결을 끊은것이고.
-1이면 에러 이 두경우다 close(clientSock)를 호출합니다.
다만 errno가 ewouldblock으로 설정되면 close를 하지 않습니다.
근데 send의 경우 recv와 리턴값이 거의 동등하다고 책이나 문서에