function Fsockopen_test () { $hostname = ' m.cn '; $url = '/test/1.php '; $fp = Fsockopen ($hostname, $errno, $ERRSTR, 5); if (! $fp) { echo "$errstr ($errno)"; return false; } Stream_set_blocking ($fp, 0);//Opens the manual for non-blocking mode $header = "GET $url http/1.1\r\n"; $header. = "Host: $hostname \ r \ n"; $header. = "connection:close\r\n\r\n";//long connection close fwrite ($fp, $header); Fclose ($FP);} Fsockopen_test ();
The code inside the requested/test/1.php:
Sleep (6); $fp = fopen ('./data.txt ', ' W '); Fwrite ($FP, 111); fclose ($FP);
Through the browser console to see the actual or will wait for the test/1.php execution, this side only refresh. What is this for?
Reply to discussion (solution)
Yes, no problem.
echo Date (' y-m-d h:i:s '), Php_eol;fsockopen_test (), Echo date (' y-m-d h:i:s '), Php_eol;
can see no delay
Yes, no problem.
echo Date (' y-m-d h:i:s '), Php_eol;fsockopen_test (), Echo date (' y-m-d h:i:s '), Php_eol;
Can you see that there is no delay amount? How do I have this?
Yes, no problem.
echo Date (' y-m-d h:i:s '), Php_eol;fsockopen_test (), Echo date (' y-m-d h:i:s '), Php_eol;
You can see that there is no delay I changed to your code, and then the original output comments, and found that there is a delay?
Yes, no problem.
echo Date (' y-m-d h:i:s '), Php_eol;fsockopen_test (), Echo date (' y-m-d h:i:s '), Php_eol;
can see no delay
Find out why, comment out this code is OK
function Fsockopen_test () { $hostname = ' m.cn '; $url = '/test/1.php '; $fp = Fsockopen ($hostname, $errno, $ERRSTR, 5); if (! $fp) { echo "$errstr ($errno)"; return false; } Stream_set_blocking ($fp, 0);//Opens the manual for non-blocking mode $header = "GET $url http/1.1\r\n"; $header. = "Host: $hostname \ r \ n"; $header. = "connection:close\r\n\r\n";//long connection close fwrite ($fp, $header); /* $html = '; while (!feof ($fp)) { $html. =fgets ($FP); } echo $html; * /Fclose ($FP);} Echo time (), '
'; Fsockopen_test (); Echo time (), '
';