在 PHP 中实现长连接可以使用以下方法:
fsockopen() 函数建立一个 TCP/IP 连接,并保持连接不关闭。$host = 'example.com';
$port = 80;
$socket = fsockopen($host, $port, $errno, $errstr, 30);
if (!$socket) {
echo "无法建立连接: $errstr ($errno)";
} else {
// 发送和接收数据
fwrite($socket, "GET / HTTP/1.1\r\nHost: $host\r\n\r\n");
while (!feof($socket)) {
echo fgets($socket);
}
fclose($socket);
}
stream_socket_client() 函数建立一个 TCP/IP 连接,并保持连接不关闭。$host = 'example.com';
$port = 80;
$socket = stream_socket_client("tcp://$host:$port", $errno, $errstr, 30);
if (!$socket) {
echo "无法建立连接: $errstr ($errno)";
} else {
// 发送和接收数据
fwrite($socket, "GET / HTTP/1.1\r\nHost: $host\r\n\r\n");
while (!feof($socket)) {
echo fgets($socket);
}
fclose($socket);
}
需要注意的是,长连接可能会导致服务器资源消耗过大,因此在使用长连接时应注意控制连接的数量和超时时间,以免对服务器造成负担。
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站