函数名:socket_create_listen()
适用版本:PHP 4 >= 4.1.0, PHP 5, PHP 7
函数描述:socket_create_listen() 函数创建一个监听套接字,用于接受进来的连接请求。
语法:resource socket_create_listen ( int $port [, int $backlog = 128 ] )
参数:
- port:要监听的端口号。
- backlog(可选):指定等待连接队列的最大长度,如果未指定,默认为128。
返回值:成功时返回一个监听套接字资源,失败时返回 FALSE。
示例:
$host = 'localhost';
$port = 8000;
$socket = socket_create_listen($port);
if ($socket === false) {
echo "无法创建监听套接字: " . socket_strerror(socket_last_error()) . PHP_EOL;
exit;
}
echo "正在监听 {$host}:{$port}..." . PHP_EOL;
while (true) {
$clientSocket = socket_accept($socket);
if ($clientSocket === false) {
echo "无法接受连接请求: " . socket_strerror(socket_last_error($socket)) . PHP_EOL;
break;
}
// 处理客户端请求...
socket_close($clientSocket);
}
socket_close($socket);
以上示例中,我们创建了一个监听套接字,并在指定的端口上监听连接请求。然后,通过循环等待客户端的连接请求,并在接受连接后进行相应的处理。在处理完成后,关闭客户端套接字,继续监听其他连接请求。最后,关闭监听套接字。