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
[20104] Re:[질문] 소켓사용시 Blocking Mode 에서 소켓 에러의 처리 방법
마법감자 [magicptt] 1551 읽음    2002-07-14 21:10
에러가 나면, 예외를 날립니다.
그걸 받아서 처리해 주시면 됩니다.


        try {
                 ClientSocket1->Open();
        }
        catch(Exception &E) {
                 ShowMessage("접속실패");
        }

에 그리고.. send(), recv()의 기능을 하는 함수는 살펴보질 않았네요.
그것도 익셉션을 날리거나, 리턴값으로 에러확인을 할수 있게 해놨을겁니다.



양정석 님이 쓰신 글 :
: TClientSocket과 TServerSocket을 사용하여 소켓 프로그램을 작성하고 있습니다.
: NonBlocking   mode에서 작업할때는 에러의 발생을 OnError 이벤트의 발생에서 처리해 줄수가
: 있었습니다.
: 그런데 Blocking mode로 소켓을 바꾸고 나서는 Error가 발생해도 에러를 OnError이벤트가
: 발생하지 않습니다.
:
: 예를 들어서 서버가 준비되지 않았을때 발생하는 에러 코드가 10061입니다
: NonBlocking mode에서는 아래와 같이 처리 해 주었습니다만
:
:
: void __fastcall TFrmMain::ClientSocketError(TObject *Sender,
:         TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
: {
:   if(ErrorCode == 10061){
:      ShowMessage("서버가 응답하지 않습니다.");
:      ErrorCode = 0;
:   }
:
:
: }
:
: Blocking mode에서는 어떻게 처리 해 주어야 합니까?
:
: OnError 이벤트가 발생하지 않습니다.
: 에러처리하는 방법이 있을 텐데.
:

+ -

관련 글 리스트
20104 Re:[질문] 소켓사용시 Blocking Mode 에서 소켓 에러의 처리 방법 마법감자 1551 2002/07/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.