치명적 오류로 처리하지 않아도 되는 소켓 오류 코드

네트워크 프로그래밍을 하다 보면, 다양한 소켓 오류 코드를 만나게 됩니다. 소켓 오류 코드에 어떻게 대처해야 하는지는 상황에 따라 다릅니다.

논-블럭킹 소켓(non-blocking socket)을 사용할 때엔 EAGAIN, EWOULDBLOCK, 그리고 WSAEWOULDBLOCK를 치명적 오류로 처리하지 말고 나중에 소켓 동작을 할 수 있을 때 재시도해야 합니다.

블럭킹 소켓(blocking socket)을 사용할 때엔 EINPROGRESS, EINTR, WSAEINPROGRESS, 그리고 WSAEINTR를 상황에 따라 치명적인 오류로 처리하지 않아도 되는데, 예외 처리가 번거롭다면 치명적 오류로 무조건 처리하는 게 편합니다.

참고:

Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중