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.