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
[18617] Re:[질문]고수님들 Indy TCP 서버에서
Indy 초보 [] 1381 읽음    2002-05-17 14:15
** 이렇게 해보시죠
클라이언트에서 패킷을 수신하는 아랫부분에 catch(...) 부분에서
만약 클라이언트로부터 수신되는 메시지에 오류 발생시(클라이언트가 갑자기 종료했을경우)
현재 서버에 남아있는 thread 를 없애면 될거 같은데..
맞는지 모르겠군요

저도 그러한 상황이 발생되어서 서버의 Disconnet 함수의 코딩 부분을 아래 에외오류에 처리 해주니깐.. 랜선이 빠지거나 갑자기 종료하거나 등등
알아서 죽여주네요..


//---------------------------------------------------------------------------
void __fastcall TfrmMsnServer::IdTCPServerExecute(TIdPeerThread *AThread)
{
    try
    {
        AnsiString asReceive;

        asReceive = AThread->Connection->ReadLn("", 5000);
         ....
         ....  //처리 하시고
        }
    }
    catch(...)
    {
        TClientInfor* pClientInfor;
        pClientInfor = (TClientInfor*) (AThread->Data);
        m_pClientList->Delete(m_pClientList->IndexOf(pClientInfor));
        delete pClientInfor;
        AThread->Data = NULL;
    }
}

+ -

관련 글 리스트
18561 [질문]고수님들 Indy TCP 서버에서 Robby Sever 1465 2002/05/16
18617     Re:[질문]고수님들 Indy TCP 서버에서 Indy 초보 1381 2002/05/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.