Q&A

  • [re] IndyTCPClient 관련 질문입니다.

>IndyTCPClient와 IndyTCPServer로 통신을 하고 있습니다.
>통신을 하던 중 Server 프로그램을 종료하면 Client 프로그램에서 Client Disconnect 가 발생합니다.
>그래서 연결이 끊어졌을때 재접속을 시도한다던지 화면에 표시한다던지 작업을 할 수 있습니다.
>랜선을 뽑더라도 위와 같은 작업이 정상적으로 이루어져야 하는데,
>통신 중에 서버 프로그램 종료가 아닌 랜선을 뽑아버리면..Client 프로그램이 멈춰버립니다.....
>이 방법을 해결 할 수 있는 방법을 아시는 분 계시면 도와주세요~


소켓 onerror 이벤트에 오류 핸드링을 하셔요.

  case ErrorEvent of
  eeGeneral    :
     LogMemo.Lines.Add(DateTimeToStr(Now) + ' TSR ERROR : TCP CLIENT (eGeneral)');

  eeSend       :
     LogMemo.Lines.Add(DateTimeToStr(Now) + ' TSR ERROR : TCP CLIENT (eSend)');

  eeReceive    :
     LogMemo.Lines.Add(DateTimeToStr(Now) + ' TSR ERROR : TCP CLIENT (eReceive)');

  eeDisconnect :
     LogMemo.Lines.Add(DateTimeToStr(Now) + ' TSR ERROR : TCP CLIENT (eDisconnect)');

  eeConnect    :
     LogMemo.Lines.Add(DateTimeToStr(Now) + ' TSR ERROR : TCP CLIENT (eConnect)');

  eeAccept     :
     LogMemo.Lines.Add(DateTimeToStr(Now) + ' TSR ERROR : TCP CLIENT (eAccept)') ;

  eeLookup     :
     LogMemo.Lines.Add(DateTimeToStr(Now) + ' TSR ERROR : TCP CLIENT (eLookup)');

  end;
  
  errorCode := 0;

꼭 errorcode 를 0으로 해주셔야 exception이 발생하지 않습니다.
수고하세요 홧팅~! ^^
0  COMMENTS