Q&A

  • telnet 접속 및 커맨드 실행 부분이 궁금합니다.
휴우.. 여기저기 돌아봐도 마땅한 내용이 없어서 질문 올립니다.

델파이에서 UNIX 서버(AIX)로 접속하여

일정한 커맨드를 날리거나 서버 STATE 를 확인하는

프로그램을 짜고 싶은데 텔넷 접속이 여의치가 않습니다.

INDY 에 있는걸 써야 될것 같긴한데 영 초보라 모르겠습니다..

고수님들의 많은 도움 부탁드립니다.
1  COMMENTS
  • Profile
    머슴 2002.10.25 22:28
    델파이 6에서 제공 하는 샘플프로그램이 있는데요..

    Demointernetrexec 에 있습니다.

    거기 프로그램을 수정하시는것이...(3part컴퍼넌트를 설치를 안하고

    기본 컴퍼넌트를 가지고 하는 것 입니다)

      컴퍼넌트는 TcpClient 이고요..

      모니터링 창은 memo를 이용

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if NOT Client.Connected then
      begin
        ConnectLight.Brush.Color:= clGreen; //shape: 접속여부 확인
        ConnectLight.Repaint;
        Client.RemoteHost:= EditServer.Text;
        Client.Active := true;
        Client.connect;
      end;
    end;


    procedure TForm1.clientConnect(sender: TObject);
      var
      outln : String;
    begin
      client.Sendln('0',#0);
      client.Sendln(EditUser.Text,#0);
      client.Sendln(EditPass.Text,#0);
      client.Sendln(editCommand.Text,#0);
      while client.WaitForData(10000) do
      begin
        outln := Client.Receiveln(#10);
        memo1.lines.add(outln);
      end;
      Client.Close;
      ConnectLight.Brush.Color:= clRed;
    end


    procedure TForm1.clientError(sender: TObject; SocketError: Integer);
    begin
      memo1.lines.Add('Socket Error # ' + IntToStr(SocketError));
      ConnectLight.Brush.Color:= clRed;
    end;

    clientConnect와 clientErrors는 TcpClient의 OnConnect 과 OnError로 연결