socket_accept

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_acceptソケットへの接続を許可する

説明

socket_accept(Socket $socket): Socket|false

socket_create() を使用してソケット socket を作成した後、 socket_bind() で名前に関連付け、 socket_listen() で接続をモニタします。この関数は、 このソケットへの接続を許可します。接続に成功すると、新しい Socket クラスのインスタンスが返されます。 このインスタンスは通信の際に使用されます。 ソケット上に複数の接続がキューで待っている場合、最初の接続が使用 されます。接続待ちがない場合、socket_accept() は接続が存在するまでブロックされます。 socketsocket_set_blocking() または socket_set_nonblock() により非ブロックモードで 作成された場合、false が返されます。

socket_accept() により返された Socket クラスのインスタンスは、 新規接続を許可するために使用することはできません。この場合でも 元の接続待ちのソケット socket は オープンされたままであり、再使用可能です。

パラメータ

socket

socket_create() で作成した Socket クラスのインスタンス。

戻り値

成功した場合に新しい Socket クラスのインスタンスを、 エラー時に false を返します。 実際のエラーコードは、socket_last_error() を コールすることで取得可能です。このコードを socket_strerror() に渡すことで、 エラーの内容を文字列で取得することが可能です。

変更履歴

バージョン 説明
8.0.0 成功した場合に、この関数は Socket クラスのインスタンスを返すようになりました。 これより前のバージョンでは、リソースを返していました。

参考

関連キーワード:  ソケット, 接続, 許可, Socket, インスタンス, クラス, 作成, 関数, create, bind