関数名:stream_socket_accept()
関数適用バージョン:PHP 4> = 4.1.0、PHP 5、PHP 7
関数の説明:stream_socket_accept()関数は、stream_socket_server()関数によって作成されたソケット接続を受け入れ、クライアントとの通信のために新しいソケット接続を返します。
構文:Resource Stream_Socket_accept(Resource $ server_socket [、float $ timeout = ini_get( "default_socket_timeout")[、string&$ peername]]))
パラメーター:
返品値:クライアント接続が正常に受け入れられた場合、クライアントと通信するために新しいソケットリソースが返されます。エラーが発生した場合、falseが返されます。
例:<?PHP // Socket Server $ server = stream_socket_serverの作成
if(!$ server){echo "ソケットサーバーを作成できません:$ errstr($ errno)"; } else {echo "クライアント接続を待っています... \ n";
// 接受客户端连接$client = stream_socket_accept($server); if (!$client) { echo "无法接受客户端连接"; } else { // 与客户端通信$message = "欢迎连接到服务器"; fwrite($client, $message); // 读取客户端发送的数据$data = fread($client, 1024); echo "接收到客户端数据:$data"; // 关闭客户端连接fclose($client); } // 关闭服务器fclose($server);
}?>上記の例では、最初にstream_socket_server()関数を使用してソケットサーバーを作成し、ローカルポート8080にバインドします。次に、stream_socket_accept()関数を使用して、クライアントが接続してクライアントとの通信のために新しいソケットリソースを返すのを待ちます。クライアントとの通信中に、fwrite()関数を使用してクライアントにウェルカムメッセージを送信し、fread()関数を使用してクライアントが送信したデータを読み取ります。最後に、fclose()関数を使用して、クライアント接続とサーバー接続を閉じます。