Pingen ohne das Programm einfriert!
Hi Leute!
Ich möchte rausfinden ob mein Programm auf einen Host(Meine Homepage) zugreifen und von dort aus Datei runterladen kann(In Zeiten wo alle PCs eine Firewall haben muss ich das ja prüfen). Also muss ich irgendwie die Seite anpingen: Dabei soll mein Programm aber auf keinen Fall einfrieren! Wie macht man sowas??? DaDu |
Re: Pingen ohne das Programm einfriert!
Stichwort Threads vielleicht
|
Re: Pingen ohne das Programm einfriert!
Einen bisschen Quelltext wäre nicht schlecht, damit ich eine Idee davon bekomme, wie man pingt und dann noch über einen Thread!
|
Re: Pingen ohne das Programm einfriert!
Pingen tust du am besten mit den Indy Komponenten. Quelltext kann ich dir leider nicht liefern. Habs selber noch nicht gemacht. Aber ich glaube, dass Thema pingen wurde schon oft hier im Forum angesprochen und auch zu Threads gibt es genügend Beiträge.
|
Re: Pingen ohne das Programm einfriert!
Ich würde nicht pingen, sondern den Port checken mit einem socket-connect, da auch eine ICMP verwerfende Firewall installiert sein kann, aber die Seite trotzdem erreichbar sein kann (Port 80 TCP).
|
Re: Pingen ohne das Programm einfriert!
Zitat:
Zitat:
|
Re: Pingen ohne das Programm einfriert!
Sorry... Hätt auch gleich ne alternative Methode posten können, wie man noch pingen kann:
Delphi-Quellcode:
Die Quelle, wo ich den Code her hab, ist mir aber verloren gegangen
uses
winsock ; function Ping(InetAddress : string) : boolean; var Handle : THandle; InAddr : IPAddr; DW : DWORD; rep : array[1..128] of byte; begin try result := false; Handle := IcmpCreateFile; if Handle = INVALID_HANDLE_VALUE then Exit; TranslateStringToTInAddr(InetAddress, InAddr); DW := IcmpSendEcho(Handle, InAddr, nil, 0, nil, @rep, 128, 0); Result := (DW <> 0); IcmpCloseHandle(Handle); except Result := false ; end ; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz