Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Client sucht Server mit TServer/ClientSocket (https://www.delphipraxis.net/10425-client-sucht-server-mit-tserver-clientsocket.html)

chris01 18. Okt 2003 12:03


Client sucht Server mit TServer/ClientSocket
 
Hi Leute!!

Kann man es irgendwie hinbekommen, dass wenn der TClientSocket keine Verbindung bei Programm start findet, das er dann eigenständig solange sucht, bis eine findet??

Gruß chris

P.S. vielleicht könnt ihr auch nochmal hier gucken!!
Klicke hier

Sharky 18. Okt 2003 12:06

Re: Client sucht Server mit TServer/ClientSocket
 
Zitat:

Zitat von chris01
.. das er dann eigenständig solange sucht, bis eine findet?....

Hai Chris01,

Du könntest ja einen Timer starten der alle x Sekunden versucht die Verbindung aufzubauen. Wenn dies dann geglückt ist einfach den Timer abschalten.

chris01 18. Okt 2003 12:17

Re: Client sucht Server mit TServer/ClientSocket
 
daran habe ich auch schon gedacht!
das klappt wegen 2 Sachen nich!
  • Wie geht das??
  • wenn man sich garnicht mit dem programm verbindet, zieht das vielzuviel resourcen immer danach zu suchen!

geht das nicht anders??

gruß chris

Sharky 18. Okt 2003 12:28

Re: Client sucht Server mit TServer/ClientSocket
 
Hai Chris,

hier mal ein ungetester Code:

Delphi-Quellcode:
procedure TForm1.VerbindenClick(Sender: TObject);
begin
 Timer1.Enabled := False;
 Timer1.Interval := 30 * 1000; //alle 30 Sekunden versuchen
 Timer1.Enabled := True;
 TcpClient1.Connect;
end;

procedure TForm1.TcpClient1Connect(Sender: TObject);
begin
 Timer1.Enabled := False; //Verbindung steht. Timer abschalten.
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 if not (TcpClient1.Connected) then //keine Verbindung
  begin
   TcpClient1.Connect; // Neu versuchen.
  end;
end;
Wenn auf den Button geklickt wird startet der Timer und es wird versucht eine Verbindung aufzubauen. Wenn eine Verbindung hergestellt wurde wird der Timer beendet.

Das ganze ist nur ein Lösungsansatz und müste noch verfeinert werden.

chris01 18. Okt 2003 12:38

Re: Client sucht Server mit TServer/ClientSocket
 
Ich werde es dann mal heute Abend testen!

Ich soll nämlich ein RemoteProgramm für die Schule schreiben! Und weil die Schülerrechner meistens früher als der LehrerRechner laufen, brauche ich natürlich eine Lösung, das sich trotzdem dann später die Clientprogramme mit den ServerProgramm verbinden!

Und auf den Server kann ich das Programm auch nicht tun, weil der Server nur an ist und kein Benutzerangemeldet ist!

Gruß Chris!

chris01 19. Okt 2003 11:21

Re: Client sucht Server mit TServer/ClientSocket
 
Also ich habe es getestet und es geht nicht.

Zumal es die Funktionen nicht gibt. Oder auch die Eigenschaften :(

Es gibt wenn nur TcpClient1.Socket.Connect(port:integer); und TcpClient1.socket.connected;

Er verbindet einfach nicht :roll:

Könnte mal einer von euch mir ein einfaches Projekt bauen, wo das funktioniert?? bitte :love:

Gruß chris

Sharky 19. Okt 2003 11:33

Re: Client sucht Server mit TServer/ClientSocket
 
Zitat:

Zitat von chris01
.....Zumal es die Funktionen nicht gibt. Oder auch die Eigenschaften ....

Hast Du mal im OI bei den Ereignissen geschaut? Bei mir gibt es das OnConnect!

chris01 19. Okt 2003 11:35

Re: Client sucht Server mit TServer/ClientSocket
 
JA, die gibt es aber,

Zitat:

TcpClient1.Connect; // Neu versuchen.
gibt es nicht! :(

da kommt immer undefiniert Bezeichner :(

Christian Seehase 19. Okt 2003 11:56

Re: Client sucht Server mit TServer/ClientSocket
 
Moin Chris,

weil es Client1.Socket.Connect(...) heisst.
Du hast den Mittelteil, Socket, vergessen. ;-)

chris01 19. Okt 2003 12:04

Re: Client sucht Server mit TServer/ClientSocket
 
:wall: Es klappt trotzdem nicht! *weine*

Kann mir den keiner helfen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:53 Uhr.
Seite 1 von 2  1 2      

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