Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > PHP > socket_read的问题!!!!!---引用
【标  题】:socket_read的问题!!!!!---引用
【关键字】:socket_read,---
【来  源】:BLOG.CSDN.NET

socket_read的问题!!!!!---引用

Your Ad Here

<?
 error_reporting(E_ALL);
 set_time_limit(0);
 $runtimes = 100;

 for ($i=0; $i<$runtimes; $i++)
 {
  $str = f_socket("www.baidu.com","/s?wd=10000" . $i);
  echo "<textarea>" . $str . "</textarea><br>";
 }

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

  $socket = 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.1\r\n";
  $in .= "Host: " . $website . "\r\n";
  $in .= "Connection: close\r\n\r\n";
  socket_write($socket, $in, strlen($in));

  $start_time = time();
  $str = "";
  do
  {
   if (false === ($out = socket_read($socket, 8192)))
   {
    echo ("SOCKET_READ_ERROR: " . socket_strerror(socket_last_error($socket)));
    $str = "";
    break;
   }
   if (time() - $start_time > 1)
   {
    echo ("SOCKET_READ_ERROR: Timeout!!!");
    $str = "";
    break;
   }
   $str .= $out;
  } while ($out != "");

  socket_close($socket);
  return $str;
 }
/*
 function f_socket($website,$url)
 {
  $fp = fsockopen($website, 80, $errno, $errstr, 30);
  if (!$fp)
  {
  }
  else
  {
   $out = "GET " . $url . " HTTP/1.1\r\n";
   $out .= "Host: " . $website . "\r\n";
   $out .= "Connection: Close\r\n\r\n";
   fwrite($fp, $out);
   $str = "";
   $start_time = time();
   while (!feof($fp))
   {
    $str .= fread($fp, 8192);
    if (time()-$start_time > 1)
    {
     $str = "";
     echo "timeout!!!";
       break;
    }
   }
   return $str;
  }
 }
*/
?>

一个由字符引起的XML加载错误:【上一篇】
E3 2005: PS3 Tech Specs(转载):【下一篇】
【相关文章】
  • 我翻译的文档----Symbian基本规范:描述符
  • 我翻译的文档----Symbian基本规范:命名约定
  • 初到高尚之的毛孩子---郭盖
  • linux字符界面下的乱码问题---改称英文显示
  • 凤凰涅磐 --- Phoenix 2 发布预览
  • J2ME优化程序的一些小技巧----Gaming with MIDP2.0
  • 用汇编写的第一个程序---helloworld.asm
  • 我翻译的文档----Symbian基本规范:静态数据
  • 互联网思考,我的未来的思考,人生价值的思考----
  • linux文件安全---粘连位(Sticky bit)
  • 【随机文章】
  • 学习Python(4)——面向函数编程
  • Converting ArrayList to Array / Array to ArrayList C# (原创翻译)
  • 眉来眼去之描绘篇
  • ASP数据库连接字符串大全
  • 如何更改sql server表的所有者
  • Java 多线程编程中的设计模式 开篇
  • Log4j相关资料收集
  • 服务器管理系统软件
  • 流媒体技术原理及播放方式
  • 探讨对Web控件的异常处理
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.