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
[11017] 소켓 Connection 에러 시....
권선미 [] 897 읽음    2001-09-13 10:25
제 어플리케이션에... 두개의 소켓이 있는데요.
차례로.. Connection을 맺을려고 합니다.
OmifSock이 먼저 서버와 컨넥션 시도를 하구요..
컨넥션이 되면 OmifSock2가 서버와 컨넥션을 시도 합니다.
물론 OmifSock이 컨넥션 에러가 나도 OmifSock2가 컨넥션시도를 할 수 있겠급 해놓았습니다.
아래의 소스가 OmifSockError 함수 입니다.

void __fastcall TFORM_MAIN::OmifSockError(TObject *Sender,
      TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
{
         if(ErrorEvent == eeConnect)
        {
                ShowMessage("SMSG Primary System is not Available");
                ErrorCode = 0;
                RecieveResultFlag[SYSTEM_A]     =       true;
        }

       CloseOmifSockA();
       dual_system[SYSTEM_A].STATUS = 1;
       OpenOmifSockB();


}

근데 문제는 OmifSock이 컨넥션 에러가 났을 경우엔 위의 코드를 잘 수행해서
"SMSG Primary System is not Available"이란 메세지를 뿌리고 OmifSock2가 Connection 시도를 합니다.
근데 OmifSock이 컨넥션 된 후 OmifSock2가 Connection Error가 날 경우엔 OmifSockError 함수를
수행하지 않는 것 같습니다.
OmifSock2Error한수 소스는 아래와 같거든요

void __fastcall TFORM_MAIN::OmifSock2Error(TObject *Sender,
      TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
{
        if(ErrorEvent == eeConnect)
        {
                ShowMessage("SMSG Secondary System is not Available");
                ErrorCode = 0;
                RecieveResultFlag[SYSTEM_B]     =       true;
        }

       CloseOmifSockB();
       dual_system[SYSTEM_B].STATUS = 1;

//양 시스템 정상으로 로그인이 되었으면 화면을 보여줌
       if(dual_system[SYSTEM_A].STATUS == 0 || dual_system[SYSTEM_B].STATUS == 0)       {
                FORM_MAIN->Show();
                FORM_AUTHOR->Hide();
       }
       else     {
                ShowMessage("Can't Connect to both System");
                Close();
       }
}

보는바와 같이 Connection 하다 에러가 나면 "SMSG Secondary System is not Available"
메세지를 뿌려야 하는데 그 메세지가 아니라 Windows에서 보내는 에러 메세지가 뜹니다.
똑같은 소켓 타입이구 같은 에러 코드인데 왜 한쪽만 제대로 메세지를 뿌리나요?
서버는 둘다 Sun 장비의 Unix입니다.

좀 가르쳐 주세요.

+ -

관련 글 리스트
11017 소켓 Connection 에러 시.... 권선미 897 2001/09/13
11069     Re:소켓 Connection 에러 시.... 박지훈.임프 1218 2001/09/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.