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 方法来启动与远程终结点的连接。 如果 reuseSockettrue,则可以重复使用套接字。

可以将实现的AsyncCallbackBeginDisconnect回调传递给 ,以获取有关断开连接操作完成的通知。 请注意,如果基础网络堆栈同步完成操作,则回调可能会在调用 BeginDisconnect期间内联执行。 在这种情况下, CompletedSynchronously 返回 IAsyncResult 的 上的 属性将设置为 true 以指示该方法同步完成。 AsyncState使用 的 IAsyncResult 属性获取传递给 BeginDisconnect 方法的状态对象。

BeginDisconnect必须通过调用 EndDisconnect 方法完成操作。 通常,方法由提供的 AsyncCallback 委托调用。 EndDisconnect 将阻止调用线程,直到操作完成。

注意

如果收到 SocketException 异常,请使用 SocketException.ErrorCode 属性获取特定的错误代码。

备注

当你在应用程序中启用网络跟踪后,此成员将输出跟踪信息。 有关详细信息,请参阅 .NET Framework 中的网络跟踪

适用于