Entwickler-Ecke

Internet / Netzwerk - Womit beides Anpingen HTTP und FTP? Tolles Lauflichtprogramm


JRegier - Do 26.01.06 09:21
Titel: Womit beides Anpingen HTTP und FTP? Tolles Lauflichtprogramm
Hallo, ich habe auf meinem Arbeitsrechner den HTTP und FTP Server installiert.

Nun der ist selbstverständlich nicht immer an, also wie ich in einem anderen Thread erwähnt habe,
vorerst mal nur für meine Verwandschaft gedacht die dann z.B. die Fotogalerie sehen können und
auch Fotos hochladen.

Jetzt habe ich ein Programm geschrieben das ist das Window 3 Pix hoch und auf die ganze Breite des Screens oben.
Das ist ein Lauflicht der erstens gut aussieht und zweitens kennzeichnen soll wann mein Server zur Verfügung
steht, also eingeschaltet und erreichbar ist. Siehe anlage!

Nun habe ich das erst mit IdTcpClient gemacht, dann habe ich das mit IdIcmpClient gemacht, aber in beiden Fällen
wird der FTP Server nicht richtig erkannt, wann er läuft und wann nicht.

Womit mache ich das am besten? Oder muß ich doch IdTCPClient verweden und die Zugangsdaten eingeben und damit
versuchen zu Connecten? Oder muß ich IdFTP nehmen?


acer - Do 26.01.06 10:06

hi,

auf deinem gebiet kenne ich mich zwar nicht so aus hab aber beim stöbern ma das hier gefunden:
Zitat:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
 
begin  
    idftp1.Host     := 'server';   
    idftp1.Username := 'user';  
    idftp1.Password := 'password';  
 

    host:=idftp1.Host;  
    code := ping(host,hopcount,rtt,ipad);  
    if code = 0 then begin // ping kam an  
    //Aktion für erfolgreiches pingen



hoffe, das hilft dir!


JRegier - Do 26.01.06 16:25

user profile iconacer hat folgendes geschrieben:
hi,

auf deinem gebiet kenne ich mich zwar nicht so aus hab aber beim stöbern ma das hier gefunden:
Zitat:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
 
begin  
    idftp1.Host     := 'server';   
    idftp1.Username := 'user';  
    idftp1.Password := 'password';  
 

    host:=idftp1.Host;  
    code := ping(host,hopcount,rtt,ipad);  
    if code = 0 then begin // ping kam an  
    //Aktion für erfolgreiches pingen



hoffe, das hilft dir!


Ja, das hatte ich auch gefunden ,nur ich dachte ich könnte das mit einer Komponente machen, nun kann ich den
mit dem IdFTP auch checken ob der HTTP Server läuft?

Ich hatte noch eine andere Idee: Ich könnte für mich auf dem Server ja eigentlich dasselbe Lauflicht-Programm
laufen lassen der einen IdTCPServer beinhaltet und mein Programm meldet dann weiter ohne Zugangsdaten ob der
HTTP / FTP dienste laufen. Ich könnte dann am Lauflicht beim Server anzeigen lassen dass sich jemand eingelogt
hat und dann mit dennen über dieses Programm kommunizieren!


noidic - Do 26.01.06 16:34

Mit ICMP-Pings kommst da nicht weit, da damit nicht auf die Erreichbarkeit von TCP-basierten Diensten ermittelt werden kann.

Dazu ein TCP-Client nehmen und versuchen, auf die jeweiligen Ports zu connecten. Funktioniert das, ist der Dienst da ( anmelden muss man sich ja nicht unbedingt, reicht ja, dass der connect funktioniert ).


JRegier - Do 26.01.06 16:42

user profile iconnoidic hat folgendes geschrieben:
Mit ICMP-Pings kommst da nicht weit, da damit nicht auf die Erreichbarkeit von TCP-basierten Diensten ermittelt werden kann.

Dazu ein TCP-Client nehmen und versuchen, auf die jeweiligen Ports zu connecten. Funktioniert das, ist der Dienst da ( anmelden muss man sich ja nicht unbedingt, reicht ja, dass der connect funktioniert ).


Ja, mit dem Anmelden oder nicht anmelden ist ja Sache der Serverkonfiguration? Oder?

Ich hatte auch den TCP Client genommen nur es hat nicht geklappt auch wenn ich den FTP
Dienst gestartet hatte, hat er keine Änderung gezeigt!

Ah, ich weiß ich hatte bei dem IdIcmpClient später auch mit den richtigen Ports gemacht
na ja das sollte ich jetzt auch mit dem IdTCPClienten so richtig machen!

Also du meinst eine Anonyme Connection sollte klappen?

//EdIt

Ich habe einfach für dieses Programm einen Benutzernamen und Passwort in HTTP und FTP eingerichtet,
IdFTP und IdHTTP genommen und loge mich beim Connecten ein. Wenn das Login nicht funktioniert hat
dann ist ja auch der dienst nicht am laufen. Also, so find ich, das ist die beste Lösung.


UGrohne - Do 26.01.06 23:01

Wenn ein Connect mit dem TCP-Client auf den jeweiligen Ports (21 für FTP, 80 für HTTP) klappt, dann steht da auch ein Server dahinter (jeweils Web oder FTP-Server) der auf diesen Ports zuhört. Ansonsten bekommst Du einen Fehler.

Ich glaube, Du solltest Dir mal die Grundlagen der Netzwerkprotokolle und das OSI-Modell ein wenig anschauen, dann verstehst Du auch solche Geschichten leichter ;-)


JRegier - Do 26.01.06 23:16

user profile iconUGrohne hat folgendes geschrieben:
Wenn ein Connect mit dem TCP-Client auf den jeweiligen Ports (21 für FTP, 80 für HTTP) klappt, dann steht da auch ein Server dahinter (jeweils Web oder FTP-Server) der auf diesen Ports zuhört. Ansonsten bekommst Du einen Fehler.

Ich glaube, Du solltest Dir mal die Grundlagen der Netzwerkprotokolle und das OSI-Modell ein wenig anschauen, dann verstehst Du auch solche Geschichten leichter ;-)


Vielen Dank, Chef! :wink: