Socket.Listen メソッド

Socket を待機状態にします。

Public Sub Listen( _
   ByVal backlog As Integer _)
[C#]
public void Listen(intbacklog);
[C++]
public: void Listen(intbacklog);
[JScript]
public function Listen(
   backlog : int);

パラメータ

  • backlog
    保留中の接続のキューの最大長。

例外

例外の種類 条件
SocketException ソケットへのアクセスを試みているときにエラーが発生しました。詳細については、「解説」を参照してください。
ObjectDisposedException Socket は閉じられています。

解説

Listen により、コネクション指向の Socket が受信接続の試行を待機するようになります。受信キューに置かれる受信接続数は、 backlog パラメータが指定します。指定できる最大接続数を判断するには、 MaxConnections 値を取得します。 Listen はブロックしません。

SocketException が発生した場合は、 ErrorCode を使用して具体的なエラー コードを取得してください。このコードを取得したら、Windows Socket Version 2 API エラー コードのマニュアルから、エラーの詳細情報を確認できます。これは MSDN から入手できます。キューからの接続を受け入れるには、 Accept または BeginAccept を使用します。

メモ    Listen の前に Bind メソッドを呼び出す必要があります。呼び出さないと、 ListenSocketException をスローします。

使用例

[Visual Basic, C#, C++] Socket を使用して受信接続を待機する例を次に示します。

 
' Allows a queue of 10 connections.
aSocket.Listen(10)
If Not aSocket.Connected Then
    Console.WriteLine("Winsock error: " _
       + Convert.ToString(System.Runtime.InteropServices.Marshal.GetLastWin32Error()))
End If

[C#] 
// Allows a queue of 10 connections.
aSocket.Listen(10);
if (!aSocket.Connected) {
   Console.WriteLine("Winsock error: "
      + Convert.ToString(System.Runtime.InteropServices.Marshal.GetLastWin32Error()));
} 

[C++] 
// Allows a queue of 10 connections.
aSocket->Listen(10);
if (!aSocket->Connected) {
   Console::WriteLine(S"Winsock error: {0}", Convert::ToString(System::Runtime::InteropServices::Marshal::GetLastWin32Error()));
} 

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

Socket クラス | Socket メンバ | System.Net.Sockets 名前空間 | MaxConnections | Accept | Bind