![]() |
TIdTCPServer friert bei OnDisconnect ein
Ich hab hier eine Anwendung mit einem TIdTCPServer.
Im OnDisconnect würd ich gern nur eine Log-Meldung rausschreiben. Wird die Verbindung allerdings vom Server und nicht vom Client getrennt (z.B. indem man Server.Active auf false setzt), dann friert die Anwendung sobald man im OnDisconnect was machen will :gruebel: HILFE! Ich hab hier mal ein extrem primitives Beispiel gebastelt:
Delphi-Quellcode:
procedure TForm1.butOnClick(Sender: TObject);
begin IdTCPServer1.Active:=True; Memo1.Lines.Add('Server listening on port '+IntToStr(IdTCPServer1.DefaultPort)) end; procedure TForm1.butOffClick(Sender: TObject); begin IdTCPServer1.Active:=False; Memo1.Lines.Add('Server disconnected.') end; procedure TForm1.IdTCPServer1Execute(AContext: TIdContext); var s: string; begin s:=AContext.Connection.IOHandler.ReadLn; Memo1.Lines.add('R< '+s); AContext.Connection.IOHandler.WriteLn('Echo: '+s); // Auto-Echo end; procedure TForm1.IdTCPServer1Disconnect(AContext: TIdContext); begin // Wenn man die Zeile einkommentiert friert die Anwendung sobald man auf "Off" clickt // Memo1.Lines.add('Client disconnected'); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:02 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 by Thomas Breitkreuz