TsgcTCPClient › Methods › Disconnect
Fecha a conexão TCP de forma síncrona e bloqueia o chamador até que o socket seja fechado ou o timeout decorra.
function Disconnect(const aTimeout: Integer = 10000): Boolean;
| Name | Type | Descrição |
|---|---|---|
aTimeout | const Integer | Tempo máximo em milissegundos para aguardar o fechamento da conexão. Assume 10000 (10 segundos) por padrão. |
True quando o cliente foi totalmente desconectado dentro do timeout; False se o timeout expirou primeiro. (Boolean)
Disconnect é a contrapartida bloqueante de definir Active := False. Ele limpa Active e então aguarda em um evento interno até que o socket seja encerrado ou o timeout seja atingido. Se o cliente já estiver desconectado, o método retorna True imediatamente. Como o cliente TCP não troca um frame de fechamento de nível de protocolo, o socket é simplesmente encerrado no nível de transporte. Utilize Stop em vez disso quando precisar de uma desconexão não bloqueante a partir de uma thread secundária.
if oClient.Disconnect(10000) then
ShowMessage('Disconnected')
else
ShowMessage('Not Disconnected');