Socket.BeginDisconnect(Boolean, AsyncCallback, Object) Método

Definição

Inicia um pedido assíncrono para desligar de um endpoint remoto.

public:
 IAsyncResult ^ BeginDisconnect(bool reuseSocket, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginDisconnect(bool reuseSocket, AsyncCallback? callback, object? state);
public IAsyncResult BeginDisconnect(bool reuseSocket, AsyncCallback callback, object state);
member this.BeginDisconnect : bool * AsyncCallback * obj -> IAsyncResult
Public Function BeginDisconnect (reuseSocket As Boolean, callback As AsyncCallback, state As Object) As IAsyncResult

Parâmetros

reuseSocket
Boolean

true se esta tomada puder ser reutilizada após o encerramento da ligação; caso contrário, false.

callback
AsyncCallback

O AsyncCallback delegado.

state
Object

Um objeto que contém informação de estado para este pedido.

Devoluções

Um IAsyncResult objeto que faz referência à operação assíncrona.

Exceções

O Socket objeto foi encerrado.

Apenas framework .NET: Ocorreu um erro ao tentar aceder ao socket.

Observações

Importante

Isto é uma API de compatibilidade. Não recomendamos o uso dos métodos APM (Begin* e End*) para novos desenvolvimentos. Em vez disso, use os Taskequivalentes baseados em .

Se estiver a usar um protocolo orientado à ligação, pode chamar o BeginDisconnect método para iniciar a desconexão a partir de um endpoint remoto. Se reuseSocket for true, podes reutilizar o soquete.

Pode passar um callback que implementa AsyncCallback para BeginDisconnect ser notificado sobre a conclusão da operação de desconexão. Note que, se a pilha de rede subjacente completar a operação de forma síncrona, o callback pode ser executado em linha, durante a chamada para BeginDisconnect. Neste caso, a CompletedSynchronously propriedade no retorno IAsyncResult será definida para true indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade de para IAsyncResult obter o objeto de estado passado para o BeginDisconnect método.

A BeginDisconnect operação deve ser realizada chamando o EndDisconnect método. Normalmente, o método é invocado pelo delegado fornecido AsyncCallback . EndDisconnect irá bloquear o thread que chama até que a operação seja concluída.

Note

Se receber uma SocketException exceção, use a SocketException.ErrorCode propriedade para obter o código de erro específico.

Note

Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.

Aplica-se a