You've already forked qlg.tsgz.moe
							
							
		
			
				
	
	
		
			76 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| <?php
 | |
| /**
 | |
|  * 分段发送数据
 | |
|  *
 | |
|  * @param swoole_client $client
 | |
|  * @param string        $data
 | |
|  * @param int           $chunk_size
 | |
|  */
 | |
| function send_chunk(swoole_client $client, $data, $chunk_size = 1024)
 | |
| {
 | |
| 	$len = strlen($data);
 | |
| 	$chunk_num = intval($len / $chunk_size) + 1;
 | |
| 	for ($i = 0; $i < $chunk_num; $i++)
 | |
| 	{
 | |
| 		if ($len < ($i + 1) * $chunk_size)
 | |
| 		{
 | |
| 			$sendn = $len - ($i * $chunk_size);
 | |
| 		}
 | |
| 		else
 | |
| 		{
 | |
| 			$sendn = $chunk_size;
 | |
| 		}
 | |
| 		$client->send(substr($data, $i * $chunk_size, $sendn));
 | |
| 	}
 | |
| }
 | |
| 
 | |
| $client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_SYNC); //同步阻塞
 | |
| if(!$client->connect('127.0.0.1', 9501, 0.5, 0))
 | |
| {
 | |
| 	echo "Over flow. errno=".$client->errCode;
 | |
| 	die("\n");
 | |
| }
 | |
| 
 | |
| //for ($i = 0; $i < 10; $i++)
 | |
| //{
 | |
| //    $client->send("hello world\r\n\r\n");
 | |
| //    echo "send\n";
 | |
| //}
 | |
| //exit;
 | |
| 
 | |
| $data = array(
 | |
| 	'name' => __FILE__,
 | |
| 	'content' => str_repeat('A', 8192 * rand(1, 3)),  //800K
 | |
| );
 | |
| 
 | |
| $_serialize_data = serialize($data);
 | |
| 
 | |
| $_send = $_serialize_data."__doit__";
 | |
| 
 | |
| echo "serialize_data length=".strlen($_serialize_data)."send length=".strlen($_send)."\n";
 | |
| //send_chunk($client, $_send);
 | |
| 
 | |
| //
 | |
| if(!$client->send($_send))
 | |
| {
 | |
| 	die("send failed.\n");
 | |
| }
 | |
| 
 | |
| //$client->send("\r\n".substr($_serialize_data, 0, 8000));
 | |
| 
 | |
| echo $client->recv();
 | |
| exit;
 | |
| 
 | |
| $client->send(substr($_serialize_data, 8000));
 | |
| 
 | |
| //usleep(500000);
 | |
| 
 | |
| if (!$client->send("\r\n\r\n"))
 | |
| {
 | |
| 	die("send failed.\n");
 | |
| }
 | |
| 
 | |
| echo $client->recv();
 | |
| 
 | |
| //sleep(1);
 |