Archiv verlassen und diese Seite im Standarddesign anzeigen : Server anpingen
Hi hat wer ne Ahnung wie ich einen bestimmten Port eines Servers anpingen kann??? IP und Port ist bekannt, will nur wissen ob auf dem Port eine Anwendung bereits arbeitet.
Thx for help
Chris
Jan Krüger
17.06.2002, 21:39
hm... einfach eine TCP-verbindung zu dem port herstellen und gucken, ob die verbindung angenommen wird. wenn ja, läuft da was. :D
jo so weit war ich auch schon, aber wie geht das?? welche Kompo??
Jan Krüger
18.06.2002, 00:14
TClientSocket (oder so ähnlich, hab gestern zum ersten Mal seit langer Zeit wieder Delphi installiert ;))
Felix Kaiser
18.06.2002, 00:52
Das Timeout von TClientSocket ist recht groß, nimm besser TTcpClient:
function PortFree(Value: integer): boolean;
var
socket: TTcpClient;
b: boolean;
begin
socket:= TTcpClient.Create(nil);
socket.RemoteHost:= 'localhost';
socket.RemotePort:= IntToStr(Value);
socket.Active:= True;
b:= not socket.Connected;
if not b then socket.Close;
socket.Destroy;
PortFree:= b;
end;
Ist mein Code für lokale Portprüfung, sollte anderswertig auch klappen. Lokal liegt das Timeout bei einer knappen Sekunde.
Dr. Azrael Tod
18.06.2002, 09:19
nur so nebenbei, wie muss denn eigentlich ein server darauf antworten?
DAT
::Beispiele währen nich schlecht aber bitte kommentiert
Felix Kaiser
18.06.2002, 13:43
Garnich :p Wenn der Port belegt ist reichts wenn der Server die Clientverbindung annimmt.
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.