소켓통신에서
글쓴이: qodwlql / 작성시간: 목, 2010/07/22 - 2:07오후
서버와 클라이언트가 있습니다
서버에서 accept 하기전에 bind와 listen 하는걸로 알고있습니다.
그런데 클라이언트에서 접속요청을 할때 네트워크가 끊어질경우 이런경우에서
클라이언트에서 데이터를 전송할때 3회 전송시도하고 3회가 넘어가도 서버에서 아무런 응답이 없다면
종료하는걸로 만드는데요
이경우에 bind나 listen 둘다 어떤 count를 줘서 클라이언트가 요청시도할때마다 count를 ++시켜준다음
count가 3이상이 됐는데, bind 에러가 떨어지면 접속이 종료되게 이런식으로 해야하나요?
Forums:
접속시도후
접속시도후 포기하는건 클라이언트가 할 일인데, 네트웍이 끊어져있다고 생각해보면 서버랑은 아무 상관이 없죠.
언제나 삽질 - http://tisphie.net/typo/
프로그래밍 언어 개발 - http://langdev.net
언제나 삽질 - http://tisphie.net/typo/
프로그래밍 언어 개발 - http://langdev.net
전송 시도라는 게...
recv() <= 0 을 반환하는 경우를 말하는 건가요?
block 인 경우와 disconnect 를 구분해서 처리는 해둬야 하겠지만.
일반적으로 bind 와 listen 은 한번만 해두고 accept 만 재시도하는 걸로 압니다...
bind 에러가 나는 경우는 서버 내부 문제 아닌지요...
-----
안녕하세요 소프트웨어 공학센터 장원석 책임입니다.
http://www.software.kr
댓글 달기