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

时间:2022-09-24 07:50:26

代码如下:


<?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); 
?>