MS SQL Server 1433 port kontrol Gönderen: dynamo Tarih: 28 May 2007 10:12:39
INDY komponentlerini kullanarak iki yöntemle yapabiliriz.
1-)
IdTelnet Kullanarak:
procedure TForm1.Button1Click(Sender: TObject);
begin
IdTelnet1.Disconnect();
try
IdTelnet1.Host := '127.0.0.1';
IdTelnet1.Port := 1433;
//IdTelnet1.Terminal:='vt100';
IdTelnet1.Connect();
ShowMessage('Bağlandı');
except
ShowMessage('Bağlantı hatası.....');
end;
end;
bir fonksiyon oluşturarak yapalım:
function CheckDBConnection(IP: string): Boolean;
var
Telnet: TIdTelnet;
begin
Telnet := TIdTelnet.Create(nil);
try
with Telnet do
begin
if Connected then Disconnect;
Host := IP;
Port := 1433;//(Sql server TCP port)
try
Connect(1000);
Result := True;
except
Result := False;
end;
end;
finally
Telnet.Disconnect;
Telnet.Free;
end;
end;
kullanımı:
procedure TForm1.Button2Click(Sender: TObject);
begin
if CheckDBConnection('127.0.0.1') then
ShowMessage('Bağlandı')
else
ShowMessage('Bağlantı hatası.....');
end;
yada başka bir fonksiyon:
function ServerExist(Port: Word; Host: String): Boolean;
var
IdTelnet: TIdTelnet;
begin
IdTelnet := TIdTelnet.Create(nil);
try
IdTelnet.Host := Host;
IdTelnet.Port := Port;
try
try
IdTelnet.Connect;
Result := True;
except
Result := False;
end;
finally
IdTelnet.Disconnect;
end;
finally
IdTelnet.Disconnect;
IdTelnet.Free;
end;
end;
kullanımı:
procedure TForm1.Button3Click(Sender: TObject);
begin
if ServerExist(1433,'T1') then
ShowMessage('Bağlandı')
else
ShowMessage('Bağlantı hatası.....');
end;
2-)
IdEcho Kullanarak:
procedure TForm1.Button1Click(Sender: TObject);
var myportstatus : boolean;
begin
IdEcho1.Host := '127.0.0.1';
IdEcho1.Port := 77;
IdEcho1.Connect;
myportstatus := IdEcho1.Connected;
IdEcho1.Disconnect;
if myportstatus = true then
Label1.Caption := 'server açık'
else
Label1.Caption := 'server kapalı';
end;
fonksiyon oluşturarak yapalım:
function CheckNetConnection(IP: string): Boolean;
var
Echo: TIdEcho;
begin
Echo := TIdEcho.Create(nil);
with Echo do
begin
try
Host := IP;
Port := 1433;
Connect(1000);
Result := True;
except
Result := False;
end;
end;
Echo.Free;
end;
kullanımı:
procedure TForm1.Button2Click(Sender: TObject);
begin
if CheckNetConnection('127.0.0.1') then
showmessage('bağlandı...')
else
showmessage('bağlanamadı...')
end;
buda başka bir fonksiyon:
function checkport(Aecho: TIdEcho; ip2scan:string; port2scan:string):boolean;
begin
Aecho.Host := ip2scan;
Aecho.Port := strtoint(port2scan);
try
Aecho.Connect(0);
Aecho.Disconnect;
result := true;
except
result := false;
end;
end;
Kullanımı:
procedure TForm1.Button3Click(Sender: TObject);
begin
if checkport(IdEcho1,'127.0.0.1','1433') = true then
ShowMessage('bağlandı')
else
ShowMessage('bağlantı hatası');
end;
örnek uygulama ekte.