Analitcs

Pesquisar no conteúdo do blog.atlabs.com.br

quarta-feira, 3 de outubro de 2012

DELPHI - Teste de Conexão - TCP Port - Indy 10

Reações: 
// Procurei na internet e não achei

//Segue abaixo:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls

  , IdBaseComponent, IdComponent // Units Base
  , IdTCPConnection, IdTCPClient // Unit TCP Client
  ;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    Function TestPortTCP(Host : String; Port : Word; Timeout : Integer = 3000) : Boolean;
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

// FUNÇÃO DE CONEXÂO DE PORTA - TCP PORT TEST DELPHI - Indy 10

function TForm1.TestPortTCP_ATLABS(Host: String; Port: Word;
  Timeout: Integer): Boolean;
var
  IdTCPClient: TIdTCPClient;
begin
  try
    Result := False;
    IdTCPClient := TIdTCPClient.Create(Nil);
    IdTCPClient.ReadTimeout := Timeout;
    IdTCPClient.Host := Host;
    IdTCPClient.Port := Port;
    try
    IdTCPClient.Connect;
    except
      IdTCPClient.Disconnect;
      Result := False;
      Exit;
    end;
    IdTCPClient.Disconnect;
    Result := True; // Passou pela conexão
  finally
    FreeAndNil(IdTCPClient);
  end;
end;
 

// TESTANDO!!!!
procedure TForm1.Button1Click(Sender: TObject);
begin
  if TestPortTCP_ATLABS('localhost', 80, 1000) then
  ShowMessage('OK')
  Else
  ShowMessage('Erro');
end;

end.


//ACONSELHO FORÇAR O TESTE COM UMA PORTA Q N ESTEJA ABERTA: 65535 por EX.

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.

Max Gehringer