Socket.EndAccept 方法

定义

异步接受传入的连接尝试。

重载

EndAccept(IAsyncResult)

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

EndAccept(Byte[], IAsyncResult)

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

EndAccept(Byte[], Int32, IAsyncResult)

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

EndAccept(IAsyncResult)

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

异步接受传入的连接尝试,并创建新的 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已关闭。

注解

重要

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

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

方法 EndAccept 将阻止,直到传入连接队列中的连接处于挂起状态。 方法 EndAccept 接受传入连接,并返回一个新的 Socket ,该连接可用于向远程主机发送数据以及从远程主机接收数据。

注意

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

备注

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

另请参阅

适用于

EndAccept(Byte[], IAsyncResult)

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

异步接受传入的连接尝试,并创建新的 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 已关闭。

注解

重要

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

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

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

方法 EndAccept 将阻止,直到传入连接队列中的连接处于挂起状态。 方法 EndAccept 接受传入连接,并返回一个新的 Socket ,该连接可用于向远程主机发送数据以及从远程主机接收数据。

注意

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

备注

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

适用于

EndAccept(Byte[], Int32, IAsyncResult)

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

异步接受传入的连接尝试,并创建新的 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 已关闭。

注解

重要

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

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

方法 EndAccept 将阻止,直到传入连接队列中的连接处于挂起状态。 方法 EndAccept 接受传入连接,并返回一个新的 Socket ,该连接可用于向远程主机发送数据以及从远程主机接收数据。

注意

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

备注

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

适用于