socket_acceptとは? わかりやすく解説

Weblio 辞書 > コンピュータ > PHP関数リファレンス > socket_acceptの意味・解説 

socket_accept

(PHP 4 >= 4.0.7, PHP 5)
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 メソッド

新しく作成された接続に対して新しい Socket を作成します。

名前空間: System.Net.Sockets
アセンブリ: System (system.dll 内)
構文構文

例外例外
例外の種類条件

SocketException

ソケットへのアクセスを試みているときにエラーが発生しました。詳細については「解説」を参照してください。

ObjectDisposedException

Socket は閉じられています。

InvalidOperationException

受け入れ元のソケットが、接続を待機していません。Accept の前に Bind および Listen を呼び出す必要があります。

解説解説

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
protected void AcceptMethod(Socket listeningSocket)
{
 Socket mySocket = listeningSocket.Accept();
}
protected:
   void AcceptMethod( Socket^ listeningSocket )
   {
      Socket^ mySocket = listeningSocket->Accept();
   }
protected void AcceptMethod(Socket listeningSocket)
{
    Socket mySocket = listeningSocket.Accept();
} //AcceptMethod
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Socket クラス
Socket メンバ
System.Net.Sockets 名前空間
Listen
RemoteEndPoint
Socket.BeginAccept


英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「socket_accept」の関連用語

socket_acceptのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



socket_acceptのページの著作権

   
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2026 by the PHP Documentation Group.
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS