You've already forked qlg.tsgz.moe
							
							
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| <?php
 | |
| $client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC); //异步非阻塞
 | |
| //$client->set(array(
 | |
| //    'socket_buffer_size' => 1024 * 1024 * 2,
 | |
| //    'open_eof_check' => true,
 | |
| //    'package_eof' => "\r\n\r\n",
 | |
| //));
 | |
| 
 | |
| $client->_count = 0;
 | |
| $client->on("connect", function(swoole_client $cli) {
 | |
|     //swoole_timer_clear($cli->timer);
 | |
|     $cli->send("GET / HTTP/1.1\r\n\r\n");
 | |
|     //$cli->sendfile(__DIR__.'/test.txt');
 | |
|     //$cli->_count = 0;
 | |
| });
 | |
| 
 | |
| $client->on("receive", function(swoole_client $cli, $data){
 | |
|     echo "Receive: $data";
 | |
|     $cli->_count++;
 | |
|     if ($cli->_count > 5)
 | |
|     {
 | |
|         //睡眠模式,不再接收新的数据
 | |
|         echo "count=10, sleep(5000ms)\n";
 | |
|         $cli->sleep();
 | |
|         $cli->_count = 0;
 | |
|         swoole_timer_after(5000, function() use ($cli) {
 | |
|             //唤醒
 | |
|             $cli->wakeup();
 | |
|         });
 | |
|         //$cli->close();
 | |
|         return;
 | |
|     }
 | |
|     else
 | |
|     {
 | |
|         $cli->send(str_repeat('A', 100)."\n");
 | |
|     }
 | |
| });
 | |
| 
 | |
| $client->on("error", function(swoole_client $cli){
 | |
|     echo "error\n";
 | |
| });
 | |
| 
 | |
| $client->on("close", function(swoole_client $cli){
 | |
|     echo "Connection close\n";
 | |
| });
 | |
| 
 | |
| $client->connect('127.0.0.1', 9501);
 | |
| //$client->timer = swoole_timer_after(1000, function () use ($client) {
 | |
| //    echo "socket timeout\n";
 | |
| //    $client->close();
 | |
| //});
 | |
| 
 | |
| //echo "connect to 127.0.0.1:9501\n";
 |