TSF:腾讯推出的 PHP 协程方案
Tencent Server Framework
Tencent Server Framework は、Tencent のエンジニアによって開発された、高速サーバー展開のためのコルーチンと Swoole ベースのサーバー フレームワークです。
PHPベース。 C++ と比較して、このフレームワークは開発とプログラミングがより効率的です。vim server.ini[server]; server type:tcp,udp,httptype = http; portlisten[] = 12312; entrance fileroot = '/data/web_deployment/serv/test/index.php'; php start pathphp = '/usr/local/php/bin/php'[setting]; worker process numworker_num = 16; task process numtask_worker_num = 0; dispatch modedispatch_mode = 2; daemonizedaemonize = 1; system loglog_file = '/data/log/test.log'
cd /root/tsf/bin/ php swoole testHttpServ start
$tcpReturn=(yield $this->tcpTest()); $udpReturn=(yield $this->udpTest()); $httpReturn=(yield $this->httpTest()); public function tcpTest(){ $ip = '127.0.0.1'; $port = '9905'; $data = 'test'; $timeout = 0.5; //second yield new Swoole\Client\TCP($ip, $port, $data, $timeout); } public function udpTest(){ $ip = '127.0.0.1'; $port = '9905'; $data = 'test'; $timeout = 0.5; //second yield new Swoole\Client\UDP($ip, $port, $data, $timeout); } public function httpTest(){ $url='http://www.qq.com'; $httpRequest= new Swoole\Client\HTTP($url); $data='testdata'; $header = array( 'Content-Length' => 12345, ); yield $httpRequest->get($url); //yield $httpRequest->post($path, $data, $header); }
$res = (yield $this->muticallTest()); public function muticallTest(){ $calls=new Swoole\Client\Multi(); $firstReq=new Swoole\Client\TCP($ip, $port, $data, $timeout); $secondReq=new Swoole\Client\UDP($ip, $port, $data, $timeout); $calls ->request($firstReq,'first'); //first request $calls ->request($secondReq,'second'); //second request yield $calls; } var_dump($res)