server = new Swoole\Http\Server("0.0.0.0", 9508); $this->server->set([ 'worker_num' => 1, 'daemonize' => true, 'log_file' => '/data/markyuan/swoole.log', ]); $this->server->on('Request', ['Server', 'onRequest']); $this->server->start(); } private static function https(){ //--enable-openssl for($i=0;$i<2;$i++){ $cli = new Swoole\Coroutine\Http\Client('0.0.0.0',443,TRUE ); $cli->set([ 'timeout' => 1]); $cli->setHeaders([ 'Host' => "api.mp.qq.com", "User-Agent" => 'Chrome/49.0.2587.3', 'Accept' => 'text/html,application/xhtml+xml,application/xml', 'Accept-Encoding' => 'gzip', ]); $ret = ($cli->get('/cgi-bin/token?appid=3333&secret=222'.$i.$i.$i.$i.$i)); error_log(__LINE__.var_export($cli,true).PHP_EOL,3,'/tmp/markyuan'); $cli->close(); } } private static function http(){ error_log(__LINE__.'---------- begin --- http --------------'.PHP_EOL,3,'/tmp/markyuan'); for($i=0;$i<2;$i++){ $cli = new Swoole\Coroutine\Http\Client('0.0.0.0', 9510); $cli->set([ 'timeout' => 1]); $cli->setHeaders([ 'Host' => "api.mp.qq.com", "User-Agent" => 'Chrome/49.0.2587.3', 'Accept' => 'text/html,application/xhtml+xml,application/xml', 'Accept-Encoding' => 'gzip', ]); error_log(__LINE__.var_export($cli,true).PHP_EOL,3,'/tmp/markyuan'); $ret = ($cli->get('/cn/token?appid=1FxxxxS9V'.$i.$i.$i.$i.$i)); error_log(__LINE__.var_export($ret,true).PHP_EOL,3,'/tmp/markyuan'); error_log(__LINE__.var_export($cli,true).PHP_EOL,3,'/tmp/markyuan'); $cli->close(); } error_log(__LINE__.'---------- end --- http --------------'.PHP_EOL,3,'/tmp/markyuan'); } private static function multihttp(){ error_log(__LINE__.'---------- begin --- multi --------------'.PHP_EOL,3,'/tmp/markyuan'); $cliAA= new Swoole\Coroutine\Http\Client('0.0.0.0', 9510); $cliAA->set(['timeout' => 1]); $cliAA->setHeaders([ 'Host' => "api.mp.qq.com", "User-Agent" => 'Chrome/49.0.2587.3', ]); $cliBB= new Swoole\Coroutine\Http\Client('0.0.0.0', 9510); $cliBB->set([ 'timeout' => 1]);// $cliBB->setHeaders([ 'Host' => "api.mp.qq.com", "User-Agent" => 'Chrome/49.0.2587.3', ]); error_log(__LINE__.var_export($cliAA,true).PHP_EOL,3,'/tmp/markyuan'); error_log(__LINE__.var_export($cliBB,true).PHP_EOL,3,'/tmp/markyuan'); $retAA=$cliAA->setDefer(1); $retBB=$cliBB->setDefer(1); error_log(__LINE__.var_export($retAA,true).PHP_EOL,3,'/tmp/markyuan'); error_log(__LINE__.var_export($retBB,true).PHP_EOL,3,'/tmp/markyuan'); error_log(__LINE__.var_export($cliAA,true).PHP_EOL,3,'/tmp/markyuan'); error_log(__LINE__.var_export($cliBB,true).PHP_EOL,3,'/tmp/markyuan'); $retAA = ($cliAA->get('/cn/token?appid=AAA')); $retBB = ($cliBB->get('/cn/token?appid=BBB')); error_log(__LINE__.var_export($retAA,true).PHP_EOL,3,'/tmp/markyuan'); error_log(__LINE__.var_export($retBB,true).PHP_EOL,3,'/tmp/markyuan'); error_log(__LINE__.var_export($cliAA,true).PHP_EOL,3,'/tmp/markyuan'); error_log(__LINE__.var_export($cliBB,true).PHP_EOL,3,'/tmp/markyuan'); $retAA=$cliAA->recv(); $retBB=$cliBB->recv(); error_log(__LINE__.var_export($retAA,true).PHP_EOL,3,'/tmp/markyuan'); error_log(__LINE__.var_export($retBB,true).PHP_EOL,3,'/tmp/markyuan'); error_log(__LINE__.var_export($cliAA,true).PHP_EOL,3,'/tmp/markyuan'); error_log(__LINE__.var_export($cliBB,true).PHP_EOL,3,'/tmp/markyuan'); $retAA=$cliAA->close(); $retBB=$cliBB->close(); error_log(__LINE__.'---------- end --- multi --------------'.PHP_EOL,3,'/tmp/markyuan'); } private static function tcp(){ for($i=0;$i<2;$i++){ $tcp_cli = new Swoole\Coroutine\Client(SWOOLE_SOCK_TCP); $ret = $tcp_cli ->connect("0.0.0.0", 9511); $ret = $tcp_cli ->send('test for the coro'); $ret = $tcp_cli ->recv(); $ret=$tcp_cli->close(); } } private static function coro_dns(){ swoole_async_set(array('use_async_resolver'=>1)); swoole_async_set(array('dns_cache_refresh_time'=>0)); $ret=swoole_async_dns_lookup_coro("www.baidu.com",0.5); error_log(' ip and host '.$host.print_r($ret,true),'3','/home/yuanyizhi/markyuan/markyuan.log'); return $ret; // swoole_async_dns_lookup("www.baidu.com", function($host, $ip){ // error_log(' ip and host '.$host.' and ip '.$ip,'3','/home/yuanyizhi/markyuan/markyuan.log'); // }); } private static function tcpmulti(){ $cliAA = new Swoole\Coroutine\Client(SWOOLE_SOCK_TCP); $cliBB = new Swoole\Coroutine\Client(SWOOLE_SOCK_TCP); $retAA = $cliAA ->connect("0.0.0.0", 9511); $retBB = $cliBB ->connect("0.0.0.0", 9511); $retAA = $cliAA ->send('test for the coro'); $retBB = $cliBB ->send('test for the coro'); $retAA = $cliAA->recv(); $retBB = $cliBB->recv(); $cliAA->close(); $cliBB->close(); } public static function onRequest($request, $response) { // self::multihttp(); // self::http(); //self::https(); // self::tcp(); // self::tcpmulti(); $ret=self::coro_dns(); $response->end(print_r($ret,true)); } public static function staticFunc() { echo "in static function"; } } $server = new Server(); $server->run();