Socket.Listen(Int32) メソッド

定義

Socket をリッスン状態にします。Places a Socket in a listening state.

public:
 void Listen(int backlog);
public void Listen (int backlog);
member this.Listen : int -> unit
Public Sub Listen (backlog As Integer)

パラメーター

backlog
Int32

保留中の接続のキューの最大長。The maximum length of the pending connections queue.

例外

ソケットへのアクセスを試行しているときにエラーが発生しました。An error occurred when attempting to access the socket.

Socket が閉じられました。The Socket has been closed.

次のコード例では、Socket を使用して、着信接続をリッスンします。The following code example uses Socket to listen for incoming connections.

// create the socket
Socket^ listenSocket = gcnew Socket( AddressFamily::InterNetwork,
   SocketType::Stream,
   ProtocolType::Tcp );

// bind the listening socket to the port
IPAddress^ hostIP = ( Dns::Resolve( IPAddress::Any->ToString() ) )->AddressList[ 0 ];
IPEndPoint^ ep = gcnew IPEndPoint( hostIP,port );
listenSocket->Bind( ep );

// start listening
listenSocket->Listen( backlog );
    // create the socket
    Socket listenSocket = new Socket(AddressFamily.InterNetwork, 
                                     SocketType.Stream,
                                     ProtocolType.Tcp);

    // bind the listening socket to the port
IPAddress hostIP = (Dns.Resolve(IPAddress.Any.ToString())).AddressList[0];
    IPEndPoint ep = new IPEndPoint(hostIP, port);
    listenSocket.Bind(ep); 

    // start listening
    listenSocket.Listen(backlog);
   ' create the socket
   Dim listenSocket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
   
   ' bind the listening socket to the port
   Dim hostIP As IPAddress = Dns.Resolve(IPAddress.Any.ToString()).AddressList(0)
   Dim ep As New IPEndPoint(hostIP, port)
   listenSocket.Bind(ep)
   
   ' start listening
   listenSocket.Listen(backlog)
End Sub

注釈

Listen により、接続指向の Socket が着信接続の試行をリッスンします。Listen causes a connection-oriented Socket to listen for incoming connection attempts. backlog パラメーターは、受け入れのためにキューに入れることができる着信接続の数を指定します。The backlog parameter specifies the number of incoming connections that can be queued for acceptance. 指定できる接続の最大数を決定するには、MaxConnections 値を取得します。To determine the maximum number of connections you can specify, retrieve the MaxConnections value. Listen はブロックしません。Listen does not block.

SocketExceptionを受け取った場合は、ErrorCode プロパティを使用して、特定のエラーコードを取得します。If you receive a SocketException, use the ErrorCode property to obtain the specific error code. このコードを取得したら、 Windows Sockets version 2 API エラーコードのドキュメントを参照して、エラーの詳細な説明を参照してください。After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error. Accept または BeginAccept を使用して、キューからの接続を許可します。Use Accept or BeginAccept to accept a connection from the queue.

注意

Listenを呼び出す前に Bind メソッドを呼び出す必要があります。または、ListenSocketExceptionをスローします。You must call the Bind method before calling Listen, or Listen will throw a SocketException.

注意

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。This member outputs trace information when you enable network tracing in your application. 詳細については、「 .NET Framework のネットワークトレース」を参照してください。For more information, see Network Tracing in the .NET Framework.

注意

バックログパラメーターは、オペレーティングシステムによって異なる値に制限されます。The backlog parameter is limited to different values depending on the Operating System. より高い値を指定することもできますが、バックログはオペレーティングシステムに基づいて制限されます。You may specify a higher value, but the backlog will be limited based on the Operating System.

適用対象

こちらもご覧ください