#unity/日常积累 # Socket.AcceptAsync 方法 - 参考 反馈 [](https://learn.microsoft.com/zh-cn/dotnet/api/system.net.sockets.socket.acceptasync?view=net-7.0#definition) ## 定义 命名空间: [System.Net.Sockets](https://learn.microsoft.com/zh-cn/dotnet/api/system.net.sockets?view=net-7.0) 程序集: System.Net.Sockets.dll # Socket.AcceptAsync 方法 - 参考 反馈 [](https://learn.microsoft.com/zh-cn/dotnet/api/system.net.sockets.socket.acceptasync?view=net-7.0#definition) ## 定义 命名空间: [System.Net.Sockets](https://learn.microsoft.com/zh-cn/dotnet/api/system.net.sockets?view=net-7.0) 程序集: System.Net.Sockets.dll ``` cs public System.Threading.Tasks.Task AcceptAsync (); ``` #### 返回 [Task](https://learn.microsoft.com/zh-cn/dotnet/api/system.threading.tasks.task-1?view=net-7.0)<[Socket](https://learn.microsoft.com/zh-cn/dotnet/api/system.net.sockets.socket?view=net-7.0)> 使用接受的套接字完成的异步任务。 #### 例外 [InvalidOperationException](https://learn.microsoft.com/zh-cn/dotnet/api/system.invalidoperationexception?view=net-7.0) 请求了无效操作。 如果接收方 [Socket](https://learn.microsoft.com/zh-cn/dotnet/api/system.net.sockets.socket?view=net-7.0) 未侦听连接或者绑定了接受的套接字,将发生此异常。 [Bind(EndPoint)](https://learn.microsoft.com/zh-cn/dotnet/api/system.net.sockets.socket.bind?view=net-7.0#system-net-sockets-socket-bind(system-net-endpoint)) 和 [Listen(Int32)](https://learn.microsoft.com/zh-cn/dotnet/api/system.net.sockets.socket.listen?view=net-7.0#system-net-sockets-socket-listen(system-int32)) 方法必须先于 [AcceptAsync(SocketAsyncEventArgs)](https://learn.microsoft.com/zh-cn/dotnet/api/system.net.sockets.socket.acceptasync?view=net-7.0#system-net-sockets-socket-acceptasync(system-net-sockets-socketasynceventargs)) 方法调用。 如果套接字已连接或使用指定的 `e` 参数的套接字操作已经在进行中,也会发生此异常。 [SocketException](https://learn.microsoft.com/zh-cn/dotnet/api/system.net.sockets.socketexception?view=net-7.0) 尝试访问套接字时出错。 [ObjectDisposedException](https://learn.microsoft.com/zh-cn/dotnet/api/system.objectdisposedexception?view=net-7.0) [Socket](https://learn.microsoft.com/zh-cn/dotnet/api/system.net.sockets.socket?view=net-7.0) 已关闭。 ### 注解 此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 [ArgumentException](https://learn.microsoft.com/zh-cn/dotnet/api/system.argumentexception?view=net-7.0))仍会同步引发。 有关存储的异常,请参阅 引发的 [Accept()](https://learn.microsoft.com/zh-cn/dotnet/api/system.net.sockets.socket.accept?view=net-7.0#system-net-sockets-socket-accept)异常。