|
소켓을 사용해 서버에 접속하여 관련 정보를
받아서 표시해 주는 프로그램을 작성하였습니다.
그런데 문제가 있습니다. 서버가 혹 잘못된 데이타를
보내거나 서버와의 접속이 끊어지면 소켓이 포인터를
벗어난 곳에 쓰기를 시도하였다는 메시지가 자꾸 나옵니다.
서버와의 접속이 끊어지면 계속해서 접속시도를 하기
때문에 이런 메시지는 보이지 않았으면 합니다.
그리고 서버와의 접속이 끊어지거나 잘못된 데이타는
그냥 버리도록 하는 방법이 없을까요?
글을 읽어보니까 try, catch, exception, finally 등을 이용하면
될 것 같은데 제가 보고 이해할 만한 예제가 없어서
처리가 안되고 있습니다.
참고로 넌블록킹소켓을 사용했을 때 자꾸만 어싱크 소켓에러가
발생해서 그냥 블럭킹 소켓을 사용하고 있습니다.
글을 보면 넌블럭킹소켓이 좋을 것 같은데 자꾸만
에러 메시지가 나와서 그냥 편하게 블럭킹 소켓으로
설정했습니다. 이 두가지의 차이를 알았으면 좋겠습니다.
그리고 앞에서 말씀드린 에러 메시지의 처리에 대한
조언을 부탁드립니다. 가능하시면 작은 예제나 혹은
헤더파일에 어떤 함수를 어디에 추가해야 하는 지 등에
대한 자세한 설명 부탁드립니다. 그럼 새로운 한주도
행복하세요..
|