通过


Socket.Accept 方法

定义

Socket为新建的连接创建新连接。

public:
 System::Net::Sockets::Socket ^ Accept();
public System.Net.Sockets.Socket Accept();
member this.Accept : unit -> System.Net.Sockets.Socket
Public Function Accept () As Socket

返回

新创建的连接的 A Socket

例外

尝试访问套接字时出错。

接受套接字未侦听连接。 必须在呼叫之前和Bind(EndPoint)Listen(Int32)呼叫之前进行呼叫Accept()

示例

下面的代码示例接受简单的 Socket 连接。

protected void AcceptMethod(Socket listeningSocket)
{
    Socket mySocket = listeningSocket.Accept();
}
   Protected Sub AcceptMethod(listeningSocket As Socket)
       

Dim mySocket As Socket = listeningSocket.Accept()
       
   End Sub

注解

Accept 从侦听套接字的连接请求队列同步提取第一个挂起的连接请求,然后创建并返回一个新 Socket请求。 不能使用此返回 Socket 来接受来自连接队列的任何其他连接。 但是,可以调用 RemoteEndPoint 返回 Socket 的方法来标识远程主机的网络地址和端口号。

在阻止模式下, Accept 在传入连接尝试排队之前阻止。 接受连接后,原始 Socket 连接将继续排队传入连接请求,直到关闭它。

如果使用非阻止 Socket调用此方法,并且没有排队连接请求, Accept 则引发一个 SocketException。 如果收到, SocketException请使用该 SocketException.ErrorCode 属性获取特定的错误代码。 获取此代码后,有关错误的详细说明,请参阅 Windows 套接字版本 2 API 错误代码 文档。

注释

在调用 Accept 该方法之前,必须先调用 Listen 该方法来侦听和排队传入连接请求。

注释

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

适用于

另请参阅