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


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 и .NET 5 и более ранних версий: при попытке доступа к сокету произошла ошибка.

Комментарии

Важно!

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

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

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

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

Примечание

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

Примечание

Данный член генерирует сведения трассировки, если в приложении включена трассировка сети. Дополнительные сведения см. в статье Трассировка сети в платформа .NET Framework.

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