socket_accept
socket_accept — ソケットへの接続を許可する
説明
resource socket_accept ( resource socket )socket_create() を使用してソケット socket を作成した後、 socket_bind() で名前に関連付け、 socket_listen() で接続をモニタします。この関数は、 このソケットへの接続を許可します。接続に成功すると、新規の ソケット記述子が返されます。この記述子は通信の際に使用されます。 ソケット上に複数の接続がキューで待っている場合、最初の接続が使用 されます。接続待ちがない場合、socket_accept() は接続が存在するまでブロックされます。 socket が socket_set_blocking() または socket_set_nonblock() により非ブロックモードで 作成された場合、FALSE が返されます。
socket_accept() により返されたソケット記述子は、 新規接続を許可するために使用することはできません。この場合でも 元の接続待ちのソケット socket は オープンされたままであり、再使用可能です。
成功した場合に新規ソケット記述子を、エラー時に FALSE を返します。 実際のエラーコードは、socket_last_error() を コールすることで取得可能です。このコードを socket_strerror() に渡すことで、 エラーの内容を文字列で取得することが可能です。
socket_bind()、 socket_connect()、 socket_listen()、 socket_create() および socket_strerror() も参照ください。
Socket.Accept メソッド
アセンブリ: System (system.dll 内)

Dim instance As Socket Dim returnValue As Socket returnValue = instance.Accept
新しく作成された接続に対する Socket。


Accept は、待機中のソケットの接続要求キューから最初の保留中の接続要求を同期的に抽出し、新しい Socket を作成して返します。この返された Socket を使用して、他の接続を接続キューから受け取ることはできません。ただし、返された Socket の RemoteEndPoint メソッドを呼び出すと、リモート ホストのネットワーク アドレスとポート番号を確認できます。
ブロッキング モードでは、Accept は、受信接続の試行がキューに置かれるまでブロックします。接続が受け入れられたら、元の Socket は、その接続を閉じるまで受信接続要求をキューに置き続けます。
このメソッドを非ブロッキング Socket を使用して呼び出しており、接続要求がキューに置かれていない場合、Accept は SocketException をスローします。SocketException が発生した場合は、SocketException.ErrorCode プロパティを使用して具体的なエラー コードを取得してください。このコードを取得したら、Windows Socket Version 2 API エラー コードのマニュアルからエラーの詳細情報を確認してください。これは MSDN ライブラリから入手できます。
![]() |
---|
Accept メソッドを呼び出す前に、まず Listen メソッドを呼び出して、受信接続要求を待機してキューに置いておく必要があります。 |

単純な Socket 接続を受け入れるコード例を次に示します。
Protected Sub AcceptMethod(listeningSocket As Socket) Dim mySocket As Socket = listeningSocket.Accept() End Sub

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- socket_acceptのページへのリンク