Hallo!
Ich habe ein
TCP-Server auf Basis von
Indy TIdTCPServer. Wenn sich ein Client versucht, mit dem Server zu verbinden, erwartet der Server bestimmte Daten von ihm. Diese Daten werte ich im OnConnect des Servers aus. Werden keine bzw. falsche Daten übertragen, soll die Verbindung sofort beendet werden.
Wie kann ich im OnConnect prüfen, ob der Client beim Verbinden irgendwelche Daten gesendet hat? Wenn ich versuche, die Daten zu empfangen, die gar nicht gesendet wurden, dann bleibt die Verbindung an dieser stelle hängen, bis der Client etwas sendet bzw. ein Timeout ausgelöst wird.
ConnectMessage := AContext.Connection.IOHandler.ReadLn(TEncoding.UTF8);
Kann ich davor prüfen, ob der Client etwas gesendet hat und bei bedarf die Verbindung sofort beenden?