![]() |
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!! ![]() |
Re: Client sucht Server mit TServer/ClientSocket
Zitat:
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. |
Re: Client sucht Server mit TServer/ClientSocket
daran habe ich auch schon gedacht!
das klappt wegen 2 Sachen nich!
geht das nicht anders?? gruß chris |
Re: Client sucht Server mit TServer/ClientSocket
Hai Chris,
hier mal ein ungetester Code:
Delphi-Quellcode:
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.
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; Das ganze ist nur ein Lösungsansatz und müste noch verfeinert werden. |
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! |
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 |
Re: Client sucht Server mit TServer/ClientSocket
Zitat:
|
Re: Client sucht Server mit TServer/ClientSocket
JA, die gibt es aber,
Zitat:
da kommt immer undefiniert Bezeichner :( |
Re: Client sucht Server mit TServer/ClientSocket
Moin Chris,
weil es Client1.Socket.Connect(...) heisst. Du hast den Mittelteil, Socket, vergessen. ;-) |
Re: Client sucht Server mit TServer/ClientSocket
:wall: Es klappt trotzdem nicht! *weine*
Kann mir den keiner helfen? |
Re: Client sucht Server mit TServer/ClientSocket
Ich will ja wirklich nicht nerven, aber weiß den keiner wie das geht??
Probiere das jetzt schon seid gestern und es funktioniert einfach nicht! :wall: Schönen Gruß Christopher :) |
Re: Client sucht Server mit TServer/ClientSocket
Dieser Code geht:
Delphi-Quellcode:
[edit=Admin]CODE-Tags durch DELPHI-Tags ersetzt. Mfg, Daniel[/edit]
type
TForm1 = class(TForm) ClientSocket1: TClientSocket; ServerSocket1: TServerSocket; Button1: TButton; Button2: TButton; Timer1: TTimer; Memo1: TMemo; procedure Button1Click(Sender: TObject); procedure ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); procedure Timer1Timer(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin //Client öffnen ClientSocket1.Host:='127.0.0.1'; ClientSocket1.Port:=11111; Timer1.Interval:=10000; Clientsocket1.Open; end; procedure TForm1.Button2Click(Sender: TObject); begin //Server öffnen ServerSocket1.Port:=11111; ServerSocket1.Open; end; procedure TForm1.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); begin memo1.lines.add('verbindung wurde aufgebaut'); end; procedure TForm1.ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin memo1.lines.add('verbindung fehlgeschlagen'); timer1.Enabled:=true; ErrorCode:=0; end; procedure TForm1.Timer1Timer(Sender: TObject); begin timer1.Enabled:=false; clientsocket1.Open; end; |
Re: Client sucht Server mit TServer/ClientSocket
Danke, ich werde es gleich sofort testen!
*freu* :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:22 Uhr. |
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