Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Problem bei Überprüfung ob Client Online ist! IndyTCP (https://www.delphipraxis.net/41674-problem-bei-ueberpruefung-ob-client-online-ist-indytcp.html)

Snaky 7. Mär 2005 13:29

Re: Problem bei Überprüfung ob Client Online ist! IndyTCP
 
Also danke für den Tip aber das ist egal ob aus der ide oder mit der kompilierten exe...

zu deinem Tip mit UdP: Wie erwähnt geht es sich hierbei um eine facharbeit. Ich muss TCP/IP benutzen für spätere Messungen von traffic usw...

Trozdem vielen daNk! :cheers:

Chris1986 7. Mär 2005 13:32

Re: Problem bei Überprüfung ob Client Online ist! IndyTCP
 
Das hinterher über TCP zu machen ist auch sinnvoll, aber das Finden von Servern würde ich mit UDP machen. Finden die Messungen denn im LAN statt?

Gruß
Christian

Snaky 7. Mär 2005 15:19

Re: Problem bei Überprüfung ob Client Online ist! IndyTCP
 
Ja finden sie. Ich will / muss auf jeden Fall das über das TCP/IP protokoll machen. Und die Lösujng ist ja auch eigentlich total logisch. Sber wieso schmiert dr ohne Fehlermeldung ab!!??? Naja vielleich fältt ja noch einem was ein. Ach ja das mit dem timeout hat auch nicht geklappt

Snaky 7. Mär 2005 17:54

Re: Problem bei Überprüfung ob Client Online ist! IndyTCP
 
Hi,
da mir ja scheinbar keiner helfen kann (was ich niemandem verüble!*g*), könnte mir da jemadn erklären wie das udp Broadcasting auf mein Beispiel anwendbar wäre?

Snaky :wall:

Chris1986 7. Mär 2005 18:35

Re: Problem bei Überprüfung ob Client Online ist! IndyTCP
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Snaky,
die Sache ansich mit TCP/IP funktioniert. Hab gerade mal einen Minitest gemacht. Ich weiß ja nicht wie groß der IP-Bereich ist den du durchsuchst, aber vielleicht musst du auch nur die Komponente IdAntiFreeze auf die Form ziehen. Kannst dir ja mal meinen Test ansehen. Projekt1 ist der Client und Projekt2 der Server.
PS.: Vergiss nicht evtl. Host und Port an dein LAN anzupassen. :wink:

//Edit: Trenn vielleicht auch bei dir mal Datenbank-Abfrage und das Suchen nach Servern. Lade alle zu prüfenden IPs in eine Stringlist und speichere sie, um zu überprüfen ob auch wirklich IPs aus der DB kommen. Erst dann gehts du wie gehabt mit der Prüfung durch, nur das du die IPs aus der Stringlist lädst.

MfG
Christian

Snaky 7. Mär 2005 19:08

Re: Problem bei Überprüfung ob Client Online ist! IndyTCP
 
Danke für dein Beispiel...also mit der Datenbank ist alles richtig...sind nur 2 IP Adessen zum test. Eine ist auf jeden Fall online. Der andere ist Oflline.
Muss ich bei Antifreeze irgend welche besonderen Einstellungen treffen das der auf die bestimmte Komponente zugeschnitten ist?
gruß und vielen Dank

Snaky

Snaky 7. Mär 2005 19:37

Re: Problem bei Überprüfung ob Client Online ist! IndyTCP
 
Vielen Dank für die Müh. Werde es gleich mal ausprobieren. Also an der Datenbank liegt es definitiv nicht. Die Benutz ich auch in anderen Teilen und außerdem hab ich mir die Einträge vor dem connecten ausgeben lassen und das passt alles... Werd mich gleich noch mal melden mit derm Ergebnis. Aber was meintest du mit dem Antifreeze bzw wie muss ch das einstellen damit das auch auf die spezielle indy-komponente reagiert oder ist das allgemein?

vielen Dank gruß,
Snaky

Snaky 7. Mär 2005 19:50

Re: Problem bei Überprüfung ob Client Online ist! IndyTCP
 
Also ich hab dein Beipiel gerade auf mein Progyy angewandt und ich bekomm bei 'Online' Benutzern Resonanz. Bei Oflline einen Fehler wegen Zeitüberschreitung [EIDTimeout]Fehler. Also in sofern Erfolg das ich wenigstens ne Fehlermelkdung bekomme.
Kann mir jetzt mit dem Fehler weiterhelfen?
Hier noch mal de Code:
Delphi-Quellcode:
procedure TfrmMain.Timer1Timer(Sender: TObject);
var i :integer;
var Kontakte : array of ttreenode;
begin
timer1.enabled := false;
setlength(kontakte,table1.RecordCount);
table1.First;
for i := 0 to length(kontakte) -1 do begin
  try
    generalc.Host := table1.fieldbyname('IP').Text;
    generalc.Connect(2000);
    if generalc.Connected then
    begin
    generalc.Disconnect;
    showmessage('Verbunden mit ' + generalc.Host);
    end;
    except
    generalc.Disconnect;
    showmessage('Host ' + generalc.Host + ' nicht erreichbar!');
    end;
    if not table1.Eof then table1.next;
timer1.enabled := true;
  end;
Danke im Vorraus

Snaky

Snaky 7. Mär 2005 20:25

Re: Problem bei Überprüfung ob Client Online ist! IndyTCP
 
Ich habs...
Der eben gepostete Code funktioniert. Allerdings nur kompiliert. In der IDE nicht. Hab ich vergessen nochmal auszuprobieren nachdem mein alter Code es nicht tat (kompiliert und in der ide).

Vielen Vielen Vielen Dank an euch


Snaky

Chris1986 7. Mär 2005 21:53

Re: Problem bei Überprüfung ob Client Online ist! IndyTCP
 
Kein Problem, gern geschehen.
Zu IdAntifreeze: Einfach draufziehen reicht. Zur IDE: Die IDE hebelt den try-except Block immer aus. Jedenfalls mit den Standardeinstellungen.

Gruß
Christian


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz