C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[45264] Re:클라이언트 프로그램의 강제종료시 서버 대응...
왕대박 [] 2374 읽음    2006-06-12 17:27
통신프로그램에서
연결이 되었다~ -> 이벤트 있음.
연결이 끊어졌다. -> 이벤트 있음.
연결중이다. -> 이벤트 없음
이벤트가 없으므로 프로그래머가 만들어 줘야 합니다.
주기적인 데이터흐름을 만들어서 데이터가 올라오지 않으면
연결이 끊어진 것으로 간주해서 적절한 처리(소켓 쓰레드 제거)를 해줘야 합니다.
서버나 클라이언트 전원이 갑자기 꺼져버릴수도 있는 처리에서는 더욱이 그렇죠.
즐프하세요.
newhuni 님이 쓰신 글 :
: 서버 프로그램을 실행시키고 클라이언트 프로그램을 실행시키면
: 두 프로그램은 정상적으로 잘 동작됩니다.
:
: 그런데...  클라이언트 프로그램이 강제종료되면 서버프로그램의 메모리가
: 계속 증가하고 CPU점유율도 99퍼센트까지 올라갑니다.
:
: 디버깅을 해 보면 클라이언트가 강제종료되도 해당 쓰레드가 남아있습니다.
: 그리고 IdTCPServerDisconnect(..)이벤트도 발생하지 않습니다.
:
: 정상적으로는 클라이언트가 서버에게 종료 하겠다는 메시지를 발생시키고,
: 서버에서 Disconnect를 해야 하는 것으로 아는데...
: 이 프로그램에서는 따로 종료버튼이 존재하지 않고. 종료하기 위해선 강제종료밖에
: 할 수 없습니다. (24시간 365일 돌아야 하는 프로그램이라서요...)
:
: 시스템의 메모리양만큼 증가하다 나중에는 가상메모리가 없다고 메시지가 발생하네요...
:
:
:
: 클라이언트 프로그램이 강제종료되었을 때 서버에서는 어떻게 대응을 해야 할까요??

+ -

관련 글 리스트
45262 클라이언트 프로그램의 강제종료시 서버 대응... newhuni 1149 2006/06/12
45264     Re:클라이언트 프로그램의 강제종료시 서버 대응... 왕대박 2374 2006/06/12
45263     Re:클라이언트 프로그램의 강제종료시 서버 대응... 둥이네 1334 2006/06/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.