坏气十足 发表于 2015-8-30 10:48:36

php模拟socket一次连接,多次发送数据的实现

<?php
//post.php
function Post($host,$port)
{
    //$host="127.0.0.1";
    //建立连接
    $conn = fsockopen($host,$port);
    if (!$conn)
    {
      die("Con error");
    }
    //循环发送5次数据
    //
    for($i = 0;$i<5;$i++)
    {
      $data="user_name=admin".$i;
      WriteData($conn,$host,$data);
      echo $i."<br />";
    }
    fclose($conn);
}
function WriteData($conn,$host,$data)
{
    $header = "POST /test.php HTTP/1.1\r\n";
    $header.= "Host : {$host}\r\n";
    $header.= "Content-type: application/x-www-form-urlencoded\r\n";
    $header.= "Content-Length:".strlen($data)."\r\n";
    //Keep-Alive是关键
    $header.= "Connection: Keep-Alive\r\n\r\n";   
    $header.= "{$data}\r\n\r\n";
    fwrite($conn,$header);
    //取结果
    //$result = '';
    //while(!feof($conn))
    //{
   //   $result .= fgets($conn,128);
    //}
    //return $result;
}
Post('127.0.0.1',80);
?>


<?php
    //test.php
    $fp = fopen('result.txt','a');
    $data = $_POST['user_name']." -- ". date('Y-m-d H:i:s')."\r\n";
    fwrite($fp,$data);
    fclose($fp);
?>
  转自:csdn
页: [1]
查看完整版本: php模拟socket一次连接,多次发送数据的实现