Php 异步使用fread()
我有如下代码:Php 异步使用fread(),php,html,asynchronous,page-load-time,Php,Html,Asynchronous,Page Load Time,我有如下代码: $socket = stream_socket_client('tcp://my.domain.com:2082', $errno, $errstr, 1, STREAM_CLIENT_ASYNC_CONNECT); fwrite($socket, "\xfe\x01"); $data = fread($socket, 1024); 此代码在加载HTML网页时执行,使用fread的行只需一秒钟,如图所示: 1374008598.18 : Read begin 137400859
$socket = stream_socket_client('tcp://my.domain.com:2082', $errno, $errstr, 1, STREAM_CLIENT_ASYNC_CONNECT);
fwrite($socket, "\xfe\x01");
$data = fread($socket, 1024);
此代码在加载HTML网页时执行,使用fread
的行只需一秒钟,如图所示:
1374008598.18 : Read begin
1374008599.75 : Read end
这会大大增加页面加载时间,有没有办法异步执行
fread()
命令。考虑到PHP是一种服务器端语言,我不确定在这种情况下是否有可能,如果没有的话,是否有另一种解决方案可以防止加载时间的大幅增加,因为fread()
是唯一的改进方法,就是尽早返回html,然后使用javascript对另一个页面执行AJAX请求,该页面执行fread()
。。您可以显示进度条,直到操作完成
顺便说一句,对于套接字,使用AJAX请求到另一个页面,正如您所说的,效果非常好。谢谢大家!+1 & ✔