Einzelnen Beitrag anzeigen

Jakson

Registriert seit: 10. Mär 2006
34 Beiträge
 
#15

AW: [Indy] TCPServer mit aktiver Verbindung beenden

  Alt 22. Mär 2012, 12:31
Hatte gerade das selbe Problem.

Wurde folgendermaßen gelöst:
Code:
procedure TForm.FormDestroy(Sender: TObject);
var MyList : TList;
    Count : Integer;
begin
 MyList := IdTCP_Server.Contexts.LockList;
 try
  for Count := 0 to MyList.Count - 1 do
   TIdContext(MyList[Count]).Connection.Disconnect;
 finally
  IdTCP_Server.Contexts.UnlockList;
 end;
 IdTCP_Server.Active := False;
end;
Bei beenden des Programms werden alle noch offenen Verbindungen getrennt.
Die mit LockList gesperrte Liste muss natürlich wieder mit UnlockList entsperrt werden.
  Mit Zitat antworten Zitat