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

posted @ 2011-07-24 00:23  长城的草  阅读(4157)  评论(0编辑  收藏  举报