123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- <?php
- /**
- * @Author: syyuanyizhi@163.com
- connect refuse: errorCode 111
- I/O timeout:errorCode 110
- http 9510
- tcp 9511
- */
- class Server
- {
- public $server;
- public function run()
- {
- $this->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();
|