![]() |
Problem mit ICS i. V. mit einem client/server Programm
Nabend,
ich habe ein Client/Serverprogramm welches ich mit Delphi 3 (schulbedingt, leider ;-) ) und den ICS Komponenten entwickle. Der Clientteil sucht dabei per UDP Broadcast nach den verfügbaren Servern im jeweiligen Subnetz. Soweit funktioniert der Broadcast auch. Das Problem besteht auf der Serverseite. Ich verschicke einen spezifisch formatierten String, den der Server interpretiert. Enthält er ein Keyword dann wird eine bestimmte Aktion ausgeführt. Wenn ich nun den Server starte:
Delphi-Quellcode:
und dann den Client senden lasse:
procedure TForm3.Button1Click(Sender: TObject);
begin with sesserver do begin Proto := 'udp'; Addr := '0.0.0.0'; Port := '6001'; LocalPort := '6001'; LocalAddr := GetMyIp; Listen; end; end;
Delphi-Quellcode:
passiert beim Server zunächst einmal gar nichts. Wenn ich den oben beschriebenen Button zum Serverstarten erneut betätige, wirft er logischerweise Fehler aus. code dazu:
procedure TForm2.Button1Click(Sender: TObject);
begin with sesclient do begin Proto := 'udp'; Addr := edit1.text; Port := '6001'; LocalPort := '6001'; LocalAddr := GetMyIp; Connect; SendStr(GetMyIp + '_Server?'); Close; end; end;
Delphi-Quellcode:
Ich kann nun drei Errormeldungen wegdrücken und DANN erhalte ich meinen vom Client abgeschickten String!
procedure TForm3.sesserver_Error(Sender: TObject);
begin showmessage('error'); end; Was passiert da? Ich verstehs nicht... Wieso muss ich den Server mehrmals starten und 3 Fehler wegdrücken bevor ich die Meldung erhalte? Zu den Spezifikationen: Der Server ist ein TWServerSocket mit: Multithreaded: True Port: 6001 Proto: UDP LocalPort: 6001 (Was soll der eigentlich sein?) MaxClients: 4 LocalAddr: wird mittels Funktion gesetzt Addr: 0.0.0.0 Der Client ist ein TWSocket mit: Port: 6001 Proto: UDP LocalPort: 6001 (Was soll der eigentlich sein?) LocalAddr: wird mittels Funktion gesetzt Addr: 192.168.6.255 (eben die Broadcastadresse) Achso: Es handelt sich um eine Nur-LAN Anwendung. Bin für jede Hilfe dankbar! Gruß Blackice |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:59 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