ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルの Socket_Read に関する問題

PHP_PHP チュートリアルの Socket_Read に関する問題

WBOY
WBOYオリジナル
2016-07-20 11:00:01949ブラウズ

 

エラー報告(E_ALL);
set_time_limit(0);
$ランタイム = 100;

for ($i=0; $i {
$str = f_socket("www.baidu.com","/s?wd=10000" . $i);
エコー「レリー
」 ";
}

関数 f_socket($website,$url)
{
$service_port = getservbyname('www', 'tcp');
$address = gethostbyname($website);

$socket =ソケット_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (false == ($socket_result =socket_connect($socket, $address, $service_port)))
{
echo ("SOCKET_CONNECT_ERROR: " .socket_strerror(socket_last_error($socket)));
}

$in = "GET " 。 $url 。 " HTTP/1.1rn";
$in .= "ホスト: " . $ウェブサイト 。 「ん」;
$in .= "接続: より近いnrn";
socket_write($socket, $in, strlen($in));

$start_time = 時間();
$str = "";
する
{
if (false === ($out =socket_read($socket, 8192)))
{
echo ("SOCKET_READ_ERROR: " .socket_strerror(socket_last_error($socket)));
$str = "";
休憩;
}
if (time() - $start_time > 1)
{
echo ("SOCKET_READ_ERROR: タイムアウト!!!");
$str = "";
休憩;
}
$str .= $out;
} while ($out != "");

ソケットクローズ($ソケット);
$str;
を返します }
/*
関数 f_socket($website,$url)
{
$fp = fsockopen($website, 80, $errno, $errstr, 30);
if (!$fp)
{
}
それ以外
{
$out = "GET" 。 $url 。 「HTTP/1.1」;
$out .= "ホスト: " . $ウェブサイト 。 " ";
$out .= "接続: 閉じる ";
fwrite($fp, $out);
$str = "";
$start_time = 時間();
その間 (!feof($fp))
{
$str .= fread($fp, 8192);
if (time()-$start_time > 1)
{
$str = "";
エコー「タイムアウト!!!」;
休憩;
}
}
$str;
を返します }
}
*/
?>


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/445541.html技術記事エラー報告(E_ALL); set_time_limit(0); $ランタイム = 100; for ($i=0; $i$runtimes; $i ) { $str = f_socket(www.baidu.com,/s?wd=10000 . $i);エコー 。 $str 。 ; } function f_socket($web...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。