Hallo Delphianer,
Folgender Fall:
- Ein Client (TClientSocket) sendet einem Server (TServerSocket) Daten.
- In der Zeit, wo der Server die Daten verarbeitet, wollen weitere Clients ihre Daten
senden.
Da beginnt mein Problem. Wie sieht in einem solchen Fall das korrekte Handling aus ? Da ich in der Online-Hilfe nichts zu diesem Problem fand, habe ich versucht, mir folgendermaßen weiterzuhelfen:
- In dem Ereignis OnClientRead vom Server-Socket, habe ich am Anfang der Verarbeitung
die Zeile Socket.SendText('VERARBEITUNG') eingefügt.
- Im Ereignis OnRead vom Client-Socket frage ich den vom Server gesendeten String
'VERARBEITUNG' ab.
- Wenn der String zutrifft, deaktiviere ich den Client mit der folgenden Anweisung
ClientSocket.Active := False;
Leider kann ich nicht abschätzen, ob ich auf den richtigen Weg bin, oder ob es andere einfachere und sichere Lösungen gibt.
Zuerst funktioniert meine Lösung noch gut, aber dann erhalte ich sporadisch 'Win-Sock-Fehlermeldungen'.
Hättest Du einen Tip, wie ich mein oben beschriebenes Problen in den Griff bekomme ?
MfG.
Uwe
[email protected]
Folgender Fall:
- Ein Client (TClientSocket) sendet einem Server (TServerSocket) Daten.
- In der Zeit, wo der Server die Daten verarbeitet, wollen weitere Clients ihre Daten
senden.
Da beginnt mein Problem. Wie sieht in einem solchen Fall das korrekte Handling aus ? Da ich in der Online-Hilfe nichts zu diesem Problem fand, habe ich versucht, mir folgendermaßen weiterzuhelfen:
- In dem Ereignis OnClientRead vom Server-Socket, habe ich am Anfang der Verarbeitung
die Zeile Socket.SendText('VERARBEITUNG') eingefügt.
- Im Ereignis OnRead vom Client-Socket frage ich den vom Server gesendeten String
'VERARBEITUNG' ab.
- Wenn der String zutrifft, deaktiviere ich den Client mit der folgenden Anweisung
ClientSocket.Active := False;
Leider kann ich nicht abschätzen, ob ich auf den richtigen Weg bin, oder ob es andere einfachere und sichere Lösungen gibt.
Zuerst funktioniert meine Lösung noch gut, aber dann erhalte ich sporadisch 'Win-Sock-Fehlermeldungen'.
Hättest Du einen Tip, wie ich mein oben beschriebenes Problen in den Griff bekomme ?
MfG.
Uwe
[email protected]
Comment