소켓 종료시 문제점입니다. 해결책 아시는분 ... ㅠㅠ
글쓴이: wnldirqhrdyd / 작성시간: 목, 2010/03/18 - 1:37오후
리눅스 서버와
윈도우 기반 클라이언트입니다.
서버는 접속된 클라이언트에게 주기적으로 데이터를 전송합니다.
문제점은, 클라이언트가 소켓접속을 끊을시에 아무값도 없는 데이터가 계속 서버에서 날라옵니다.
리눅스서버와 리눅스 클라이언트의 경우와
윈도우 서버와 윈도우 클라이언트의 경우에는 이런 상황이 발생이 안되더라구요
리눅스 서버와 윈도우기반 클라이언트 경우에만 이 현상이 발생이 되는데..
날라오는 데이터의 값은 아무 값도 들어있지 않습니다.
서버는 리눅스 c 로 개발하였으며
클라이언트는 윈도우 닷넷으로 개발하였습니다.
이유가 무엇일까요
그리고 해결책은 무엇일까요?
Forums:
질문이 잘 이해가 되지않는데요.
클라이언트에서 소켓을 닫았는데 어떻게 데이터가 수신되는지요.. 닫힌 소켓으로 데이터가 넘어온다는 건가요?
--
This is for you new people. I have just one rule :
Everyone fights, no one quits. If you don't do your job, I'll shoot you myself. Do you get me?
--
아 죄송합니다 ;;
클라이언트가 소켓을 닫는게 아니라
강제적으로 서버의 프로레스를 죽였을때 그런 경우가 나타납니다.. 어떤 문제인지..요..?
아무래도 if문 하나를 추가하셔야할듯 합니다.
잘 기억나진 않지만 보통 서버의 recv 함수에 if 문을 달아서 그 값이 마이너스(?) 이면
소켓을 닫게하는 구문을 만들어주면 해결될듯합니다.
recv 함수의 리턴값 확인해보세요.
저도 그런 경험을 한적이 있습니다 ^^;
댓글 달기