socket_accept
ソケットの接続を受け入れます
関数名:socket_accept()
該当するバージョン:PHP 4> = 4.1.0、PHP 5、PHP 7
使用法:socket_accept()関数は、接続要求を受け入れるために使用され、クライアントと通信するための新しいソケットリソースを返します。
構文:ResourceSocket_accept(リソース$ socket)
パラメーター:
返品値:クライアントとの通信のために、成功したときに新しいソケットリソースを返します。障害の場合にfalseを返し、socket_last_error()を介してエラーコードを取得できます。
例:
// 创建套接字$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 绑定套接字到IP 地址和端口socket_bind($socket, '127.0.0.1', 8080); // 开始监听连接socket_listen($socket); // 接受客户端连接请求$clientSocket = socket_accept($socket); // 与客户端进行通信while (true) { // 从客户端接收数据$data = socket_read($clientSocket, 1024); // 处理数据// 向客户端发送响应socket_write($clientSocket, "Hello, client!"); // 结束通信if ($data === 'quit') { socket_close($clientSocket); break; } } // 关闭套接字socket_close($socket);
上記の例では、ソケットを作成してローカルポート8080にバインドします。その後、socket_listen()関数を介して接続の聴取を開始します。クライアント接続要求がある場合、socket_accept()を使用して接続を受け入れ、新しいソケットリソース$ clientsocketを返します。次に、ループを入力し、socket_read()を介してクライアントからデータを受信し、データを処理し、socket_write()を介してクライアントに応答を送信します。受信したデータが「終了」されている場合、クライアントとの接続が閉じられ、通信が終了します。最後に、socket_close()を使用してソケットを閉じます。