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


Socket.DisconnectAsync Метод

Определение

Перегрузки

DisconnectAsync(SocketAsyncEventArgs)

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

DisconnectAsync(Boolean, CancellationToken)

Отключает подключенный сокет от удаленного узла.

DisconnectAsync(SocketAsyncEventArgs)

Исходный код:
Socket.cs
Исходный код:
Socket.cs
Исходный код:
Socket.cs

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

public:
 bool DisconnectAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool DisconnectAsync (System.Net.Sockets.SocketAsyncEventArgs e);
member this.DisconnectAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function DisconnectAsync (e As SocketAsyncEventArgs) As Boolean

Параметры

e
SocketAsyncEventArgs

Объект SocketAsyncEventArgs для использования в данной асинхронной операции сокета.

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

true, если операция ввода-вывода находится в состоянии ожидания. По завершении операции создается событие Completed в параметре e.

false, если операция ввода-вывода завершена синхронно. В данном случае событие Completed на параметре e не будет создано и объект e, передаваемый как параметр, можно изучить сразу после получения результатов вызова метода для извлечения результатов операции.

Исключения

Параметр e не может иметь значение null.

Операция сокета уже выполнялась с использованием объекта SocketAsyncEventArgs, указанного в параметре e.

Socket был закрыт.

Произошла ошибка при попытке доступа к сокету.

Комментарии

При использовании протокола, ориентированного на подключение, вызов DisconnectAsync метода запрашивает отключение от удаленной конечной точки. Если в параметре e задано SocketAsyncEventArgs.DisconnectReuseSocket значение , true сокет можно использовать повторно.

См. также раздел

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

DisconnectAsync(Boolean, CancellationToken)

Исходный код:
Socket.Tasks.cs
Исходный код:
Socket.Tasks.cs
Исходный код:
Socket.Tasks.cs

Отключает подключенный сокет от удаленного узла.

public System.Threading.Tasks.ValueTask DisconnectAsync (bool reuseSocket, System.Threading.CancellationToken cancellationToken = default);
member this.DisconnectAsync : bool * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function DisconnectAsync (reuseSocket As Boolean, Optional cancellationToken As CancellationToken = Nothing) As ValueTask

Параметры

reuseSocket
Boolean

Указывает, должен ли сокет быть доступен для повторного использования после отключения.

cancellationToken
CancellationToken

Маркер отмены, который можно использовать для отмены асинхронной операции.

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

Асинхронная задача, которая завершается при отключении сокета.

Исключения

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

Произошла ошибка при попытке доступа к сокету.

Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.

Комментарии

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Disconnect(Boolean).

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