Поделиться через


Socket.BeginDisconnect(Boolean, AsyncCallback, Object) Метод

Определение

Начинает асинхронный запрос на отключение от удаленной конечной точки.

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

Параметры

reuseSocket
Boolean

true Значение , если этот сокет можно повторно использовать после закрытия подключения; falseв противном случае .

callback
AsyncCallback

Делегат AsyncCallback .

state
Object

Объект, содержащий сведения о состоянии для этого запроса.

Возвращаемое значение

Объект IAsyncResult , ссылающийся на асинхронную операцию.

Исключения

Объект Socket закрыт.

Только платформа .NET Framework: произошла ошибка при попытке доступа к сокету.

Комментарии

Это важно

Это API совместимости. Мы не рекомендуем использовать методы APM (Begin* и End*) для новой разработки. Вместо этого используйте Taskэквиваленты на основе.

Если используется протокол, ориентированный на подключение, можно вызвать BeginDisconnect метод, чтобы инициировать отключение от удаленной конечной точки. Если reuseSocket это trueтак, можно повторно использовать сокет.

Вы можете передать обратный вызов, который реализуется AsyncCallbackBeginDisconnect для получения уведомлений о завершении операции отключения. Обратите внимание, что если базовый сетевой стек завершает операцию синхронно, обратный вызов может выполняться во время вызова BeginDisconnect. В этом случае CompletedSynchronously для возвращаемого IAsyncResult свойства будет задано true значение, указывающее, что метод завершился синхронно. AsyncState Используйте свойство IAsyncResult объекта состояния, переданного методуBeginDisconnect.

Операция BeginDisconnect должна быть завершена EndDisconnect путем вызова метода. Как правило, метод вызывается предоставленным AsyncCallback делегатом. EndDisconnect блокирует вызывающий поток до завершения операции.

Замечание

Если вы получаете SocketException исключение, используйте SocketException.ErrorCode свойство для получения определенного кода ошибки.

Замечание

Этот элемент выводит сведения о трассировке при включении трассировки сети в приложении. Дополнительные сведения см. в разделе "Трассировка сети" в .NET Framework.

Применяется к