Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TIdTCPServer friert bei OnDisconnect ein (https://www.delphipraxis.net/147261-tidtcpserver-friert-bei-ondisconnect-ein.html)

ralfiii 4. Feb 2010 16:48


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 02:33 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz