![]() |
TIdTCPClient ruft OnDisconnected nicht auf!
Wenn ich mich mit einem TIdTCPClient zu einem TIdTCPServer verbinde und in weiterer folge den Server beende, dann wird der OnDisconnect-Event des Clients nicht aufgerufen.
Wenn ich clientseitig einen Reader-Thread einsetze, dann wird zumindest OnStatus aufgerufen, aber so will ich das nicht machen. Meine Kommunikation mit dem Server ist sehr primitiv, die läuft völlig linear, kommt ohne Threads aus. Zum testen, 2 apps. In der 2. App, dem Client, würde ich gern einene Evetn für das OnDisconnect haben wenn man den Server schliesst. Danke!!!!
Delphi-Quellcode:
und
procedure TForm1.FormShow(Sender: TObject);
begin IdTCPServer1.DefaultPort:=47110; IdTCPServer1.Active:=True; end; procedure TForm1.IdTCPServer1Execute(AContext: TIdContext); var s : string; begin Memo1.Lines.Add('Connected from '+AContext.Connection.Socket.Binding.PeerIP); while True do begin s:=AContext.Connection.IOHandler.ReadLn; Memo1.Lines.Add('Srv Rcv: '+s); AContext.Connection.IOHandler.WriteLn('received string with length '+IntToStr(length(s))); end; end;
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin IdTCPClient1.Host:='127.0.0.1'; IdTCPClient1.Port:=47110; IdTCPClient1.Connect; end; procedure TForm1.Button1Click(Sender: TObject); var s : string; begin IdTCPClient1.IOHandler.WriteLn(Edit1.Text); s:=IdTCPClient1.IOHandler.ReadLn; Memo1.Lines.Add('Client received : '+s); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:42 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