You've already forked qlg.tsgz.moe
							
							
		
			
				
	
	
		
			117 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| <?php
 | |
| /**
 | |
|  * @Author: winterswang
 | |
|  * @Date:   2015-06-18 16:45:09
 | |
|  * @Last Modified by:   winterswang
 | |
|  * @Last Modified time: 2016-09-18 17:33:51
 | |
|  */
 | |
| 
 | |
| class TestHttpServer {
 | |
| 
 | |
| 	public $http;
 | |
| 	public $queue;
 | |
| 	public $setting = array();
 | |
| 
 | |
| 	/**
 | |
| 	 * [__construct description]
 | |
| 	 * @param array $setting [description]
 | |
| 	 */
 | |
| 	public function __construct(){
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 	public function set($setting){
 | |
| 
 | |
| 		$this ->setting = $setting;
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * [init description]
 | |
| 	 * @return [type] [description]
 | |
| 	 */
 | |
| 	public function init(){
 | |
| 
 | |
| 		if (!isset($this ->setting['host'])) {
 | |
| 			$this ->setting['host'] = '0.0.0.0';
 | |
| 		}
 | |
| 		if (!isset($this ->setting['port'])) {
 | |
| 			$this ->setting['port'] = '9999';
 | |
| 		}
 | |
| 
 | |
| 		$this ->http = new swoole_http_server($this ->setting['host'], $this ->setting['port']);
 | |
| 		$this ->http ->set($this ->setting);
 | |
| 
 | |
| 		$this ->http ->on('request', array($this, 'onRequest'));
 | |
| 		$this ->http ->on('close', array($this, 'onClose'));
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * [onRequest description]
 | |
| 	 * @param  [type] $request  [description]
 | |
| 	 * @param  [type] $response [description]
 | |
| 	 * @return [type]           [description]
 | |
| 	 */
 | |
| 	public function onRequest($request, $response){
 | |
| 
 | |
| 		// $udp = new swoole_client(SWOOLE_SOCK_UDP, SWOOLE_SOCK_ASYNC);
 | |
| 		// $udp->on("connect", function(swoole_client $cli) {
 | |
| 		//     $cli->send("udp test");
 | |
| 		// });
 | |
| 		// $udp->on("receive", function(swoole_client $cli, $data)use($response){
 | |
| 
 | |
| 			$tcp = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC);
 | |
| 			$tcp->on("connect", function(swoole_client $cli) {
 | |
| 			    $cli->send("tcp test");
 | |
| 			});
 | |
| 			$tcp->on("receive", function(swoole_client $cli, $data)use($response){
 | |
| 				$response ->end("<h1> swoole response</h1>");
 | |
| 			});
 | |
| 			$tcp->on("close", function(swoole_client $cli){
 | |
| 			});
 | |
| 			$tcp->on("error", function(swoole_client $cli){
 | |
| 			});			
 | |
| 			$tcp->connect('10.100.64.151', 9805);		
 | |
| 
 | |
| 		// });
 | |
| 		// $udp->on("close", function(swoole_client $cli){
 | |
| 		// });
 | |
| 		// $udp->connect('10.100.65.222', 9906);
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * [onClose description]
 | |
| 	 * @param  [type] $server  [description]
 | |
| 	 * @param  [type] $fd      [description]
 | |
| 	 * @param  [type] $from_id [description]
 | |
| 	 * @return [type]          [description]
 | |
| 	 */
 | |
| 	public function onClose($server, $fd, $from_id){
 | |
| 		
 | |
| 		//echo " on close fd = $fd from_id = $from_id \n";
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * [start description]
 | |
| 	 * @return [type] [description]
 | |
| 	 */
 | |
| 	public function start(){
 | |
| 
 | |
| 		$this ->init();
 | |
| 		$this ->http ->start();
 | |
| 	}
 | |
| }
 | |
| 
 | |
| $setting = array(
 | |
| 		'host' => '0.0.0.0',
 | |
| 		'port' => 10005,
 | |
| 		'worker_num' => 4,
 | |
| 		'dispatch_mode' => 2,   //固定分配请求到worker
 | |
| 		'reactor_num' => 4,     //亲核
 | |
| 		'daemonize' => 1,       //守护进程
 | |
| 		'backlog' => 128,
 | |
| 		'log_file' => '/data/log/test_http_server.log', 
 | |
| );
 | |
| $th = new TestHttpServer();
 | |
| $th ->set($setting);
 | |
| $th ->start(); |