When my Tcpclient is working , with this code :
TCPClient.Disconnect;
TCPClient.Connect;
I get "raised exception class EIdAlreadyConnected with message 'Already connected.'." error still (whereas , it has been disconnected before) .
So , how can i disconnect it totally ?
Thank you
используя indy 10, вы должны убедиться, что буфер ввода пуст.
if idTcpClient.connected then
begin
idTcpClient.IOHandler.InputBuffer.clear;
idTcpClient.Disconnect;
end;
Вы говорите, что он отключен, а вы только дали команду на отключение.
Сетевой трафик требует времени, и, вероятно, вы повторно подключились до того, как действительно отключились.
Возможно, вам нужно отслеживать какое-то состояние соединения или событие, чтобы дождаться момента, когда вы действительно отключитесь.
... или попытаться обработать исключение и проигнорировать его, используя try..except