Socket.EndAccept 方法

定义

异步接受传入连接尝试。

重载

名称 说明
EndAccept(Byte[], Int32, IAsyncResult)

异步接受传入连接尝试,并创建一个新 Socket 对象来处理远程主机通信。 此方法返回一个缓冲区,其中包含初始数据和传输的字节数。

EndAccept(Byte[], IAsyncResult)

异步接受传入连接尝试,并创建一个新 Socket 对象来处理远程主机通信。 此方法返回包含已传输的初始数据的缓冲区。

EndAccept(IAsyncResult)

异步接受传入连接尝试,并创建新的 Socket 用于处理远程主机通信的尝试。

EndAccept(Byte[], Int32, IAsyncResult)

异步接受传入连接尝试,并创建一个新 Socket 对象来处理远程主机通信。 此方法返回一个缓冲区,其中包含初始数据和传输的字节数。

public:
 System::Net::Sockets::Socket ^ EndAccept([Runtime::InteropServices::Out] cli::array <System::Byte> ^ % buffer, [Runtime::InteropServices::Out] int % bytesTransferred, IAsyncResult ^ asyncResult);
public System.Net.Sockets.Socket EndAccept(out byte[] buffer, out int bytesTransferred, IAsyncResult asyncResult);
member this.EndAccept : Byte[] * int * IAsyncResult -> System.Net.Sockets.Socket
Public Function EndAccept (ByRef buffer As Byte(), ByRef bytesTransferred As Integer, asyncResult As IAsyncResult) As Socket

参数

buffer
Byte[]

包含传输的字节的类型 Byte 数组。

bytesTransferred
Int32

传输的字节数。

asyncResult
IAsyncResult

存储 IAsyncResult 此异步操作的状态信息以及任何用户定义的数据的对象。

返回

用于 Socket 处理与远程主机通信的对象。

例外

仅限 .NET Framework、.NET Core 和 .NET 5-6: Socket 已关闭。

asyncResult 为空。

asyncResult 不是由调用 BeginAccept(AsyncCallback, Object)创建的。

尝试访问套接字时出错。

-或-

仅限 .NET 7+ : Socket 已关闭。

注解

Important

这是一个兼容性 API。 不建议使用 APMBegin*End*) 方法进行新开发。 请改用基于 -- 的 Task等效项。

EndAccept 完成由 BeginAccept. 启动的操作。 需要传递 IAsyncResult 匹配 BeginAccept 调用创建的。

该方法 EndAccept 会阻止连接,直到传入连接队列中挂起。 该方法 EndAccept 接受传入连接,并返回可用于向远程主机发送和接收数据的新 Socket 方法。

注释

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

注释

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

适用于

EndAccept(Byte[], IAsyncResult)

异步接受传入连接尝试,并创建一个新 Socket 对象来处理远程主机通信。 此方法返回包含已传输的初始数据的缓冲区。

public:
 System::Net::Sockets::Socket ^ EndAccept([Runtime::InteropServices::Out] cli::array <System::Byte> ^ % buffer, IAsyncResult ^ asyncResult);
public System.Net.Sockets.Socket EndAccept(out byte[] buffer, IAsyncResult asyncResult);
member this.EndAccept : Byte[] * IAsyncResult -> System.Net.Sockets.Socket
Public Function EndAccept (ByRef buffer As Byte(), asyncResult As IAsyncResult) As Socket

参数

buffer
Byte[]

包含传输的字节的类型 Byte 数组。

asyncResult
IAsyncResult

存储 IAsyncResult 此异步操作的状态信息以及任何用户定义的数据的对象。

返回

用于 Socket 处理与远程主机通信的对象。

例外

仅限 .NET Framework、.NET Core 和 .NET 5-6: Socket 已关闭。

asyncResult 为空。

asyncResult 不是由调用 BeginAccept(AsyncCallback, Object)创建的。

尝试访问套接字时出错。

-或-

仅限 .NET 7+ : Socket 已关闭。

注解

Important

这是一个兼容性 API。 不建议使用 APMBegin*End*) 方法进行新开发。 请改用基于 -- 的 Task等效项。

EndAccept 完成由 BeginAccept. 启动的操作。 需要传递 IAsyncResult 匹配 BeginAccept 调用创建的。

buffer此重载的参数包含调用BeginAccept中接收的数据,参数bytesTransferred包含调用中传输的字节数。

该方法 EndAccept 会阻止连接,直到传入连接队列中挂起。 该方法 EndAccept 接受传入连接,并返回可用于向远程主机发送和接收数据的新 Socket 方法。

注释

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

注释

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

适用于

EndAccept(IAsyncResult)

异步接受传入连接尝试,并创建新的 Socket 用于处理远程主机通信的尝试。

public:
 System::Net::Sockets::Socket ^ EndAccept(IAsyncResult ^ asyncResult);
public System.Net.Sockets.Socket EndAccept(IAsyncResult asyncResult);
member this.EndAccept : IAsyncResult -> System.Net.Sockets.Socket
Public Function EndAccept (asyncResult As IAsyncResult) As Socket

参数

asyncResult
IAsyncResult

用于 IAsyncResult 存储此异步操作的状态信息以及任何用户定义的数据。

返回

用于 Socket 处理与远程主机的通信。

例外

asyncResultnull

asyncResult 不是由调用 BeginAccept(AsyncCallback, Object)创建的。

尝试访问套接字时出错。

-或-

仅限 .NET 7+ : Socket 已关闭。

仅限 .NET Framework、.NET Core 和 .NET 5-6: Socket 已关闭。

注解

Important

这是一个兼容性 API。 不建议使用 APMBegin*End*) 方法进行新开发。 请改用基于 -- 的 Task等效项。

EndAccept 完成由 BeginAccept. 启动的操作。 需要传递 IAsyncResult 匹配 BeginAccept 调用创建的。

该方法 EndAccept 会阻止连接,直到传入连接队列中挂起。 该方法 EndAccept 接受传入连接,并返回可用于向远程主机发送和接收数据的新 Socket 方法。

注释

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

注释

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

另请参阅

适用于