Q&A

  • ClientSocket에서 연결상태 체크??
Client에서 메세지를 발생시켜서 서버로 메세지를 날려주거든요..

서버에서 메세지를 잘 받다가 서버 프로그램을 종료 시켜 버리면

에러가 발생하는데요...

왜 이런가요?

Client에서 서버와의 연결상태를 체크해서 메세지 송신 여부를 결정해야 하나요?

그렇게 하려면 어떻게 해야되나요?

도움 바래용~~~

1  COMMENTS
  • Profile
    이경문 2001.11.22 10:34
    데이터를 전송하려 하는 시점에서

    연결이 끊겼는데 OnDisconnect가 발생하지 않을 수 있습니다.

    이 경우 SendText들을 하게 되면 OnError라는 이벤트가 발생합니다.

    다음과 같이 처리해 주시면 됩니다.



    procedure TForm1.ClientSocket1Error(Sender: TObject;

    Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;

    var ErrorCode: Integer);

    begin

    Memo1.Lines.Add('헉, 서버로 전송하려 하는 데 에러가 났군요. 소켓을 닫습니다');

    Socket.Close;

    ErrorCode := #0;

    end;

    델처버 wrote:

    > Client에서 메세지를 발생시켜서 서버로 메세지를 날려주거든요..

    > 서버에서 메세지를 잘 받다가 서버 프로그램을 종료 시켜 버리면

    > 에러가 발생하는데요...

    > 왜 이런가요?

    > Client에서 서버와의 연결상태를 체크해서 메세지 송신 여부를 결정해야 하나요?

    > 그렇게 하려면 어떻게 해야되나요?

    > 도움 바래용~~~