Partilhar via


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

Definição

Inicia uma solicitação assíncrona para se desconectar de um ponto de extremidade 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 o soquete puder ser reutilizado após a conexão ser fechada; caso contrário, false.

callback
AsyncCallback

O delegado AsyncCallback.

state
Object

Um objeto que contém informações de estado para essa solicitação.

Retornos

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

Exceções

O objeto Socket foi fechado.

.NET Framework e .NET 5 e somente anteriores: ocorreu um erro ao tentar acessar o soquete.

Comentários

Importante

Essa é uma API de compatibilidade. Não recomendamos usar os métodos APM (Begin* e End*) para novo desenvolvimento. Em vez disso, use os Taskequivalentes baseados em .

Se você estiver usando um protocolo orientado à conexão, poderá chamar o BeginDisconnect método para iniciar a desconexão de um ponto de extremidade remoto. Se reuseSocket for true, você poderá reutilizar o soquete.

Você pode passar um retorno de chamada que implementa AsyncCallback para BeginDisconnect ser notificado sobre a conclusão da operação de desconexão. Observe que, se a pilha de rede subjacente concluir a operação de forma síncrona, o retorno de chamada poderá ser executado embutido durante a chamada para BeginDisconnect. Nesse caso, a CompletedSynchronously propriedade no retornado IAsyncResult será definida como true para indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade do IAsyncResult para obter o objeto de estado passado para o BeginDisconnect método .

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

Observação

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

Observação

Esse membro emite o rastreamento de informações quando você ativa o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de rede em .NET Framework.

Aplica-se a