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
[5614] [질문]서버에서 통신이 끊겼을때 5분단위로 Reconnection하는 로직에 대한 질문
이영수 [] 2597 읽음    2001-02-21 13:36
크라이언트에의 Disconnect Event Handler에 Disconnect된 시간을 저장합니다.
글구 스레드를 생성하고 실행합니다.

   void __fastcall TForm1::ClientSocket1Disconnect(TObject *Sender,
         TCustomWinSocket *Socket)
   {
       DisConnectTime = GetTickCount();  // DisConnect된 시간을 구한다.

       if(ReConnect == NULL)
           ReConnect = new TReConnect(false); //Reconnect 스레드를 생성과 동시에 실행 한다.
   }


스레드의 실행모듈에서는 현재 시간을 구해 Disconnec된지 5분이 지났나를 체크합니다.
글구 만약 5분이 지났다면 다시 Connect를 시도 합니다.
Form1->GetDisConnectTime(); 아까 Disconnect될때 Disconnect된 시간을 가지고 있습니다.
   void __fastcall TReConnect::Execute()
   {
       int EndTime;
       while(!Terminated)
       {
           EndTime = GetTickCount();
           if(((EndTime - Form1->GetDisConnectTime())/1000) > 300)
           {
               Form1->InitialCom();
               Form1->SetDisConnectTime(EndTime);
           }
           Sleep(0);
       }
   }


소켓 초기화 함수
void __fastcall TForm1::InitialCom()
{
   ClientSocket1->Close();
   ClientSocket1->Address = xxx.xxx.xxx.xxx;
   ClientSocket1->Port    = xxxx;
   ClientSocket1->Open();

}

이렇게 구현을 했는데...Reconnect가 잘 구현이 안되네요.. 됐다 안됐다 하니..영..~~~
종잡을 수가 없습니다. 어떤 부분이 잘못된는지.. 함 봐주세요


+ -

관련 글 리스트
5614 [질문]서버에서 통신이 끊겼을때 5분단위로 Reconnection하는 로직에 대한 질문 이영수 2597 2001/02/21
5624     Re:[질문]서버에서 통신이 끊겼을때 5분단위로 Reconnection하는 로직에 대한 질문 Orun 2834 2001/02/21
5622     Re:[질문]서버에서 통신이 끊겼을때 5분단위로 Reconnection하는 로직에 대한 질문 제라툴 2875 2001/02/21
5623         Re:Re:[질문]서버에서 통신이 끊겼을때 5분단위로 Reconnection하는 로직에 대한 질문 이영수 2514 2001/02/21
5625             Re:Re:Re:[질문]서버에서 통신이 끊겼을때 5분단위로 Reconnection하는 로직에 대한 질문 Orun 2436 2001/02/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.