tsf
1.0.0
Proyek ini saat ini dalam status arsip. Terima kasih atas perhatian Anda terhadap proyek sumber terbuka Tencent! Anda dapat terus melakukan fork dan memperbarui iterasi, terima kasih atas pengertian dan dukungan Anda, jika Anda memiliki pertanyaan lain, disarankan agar Anda menghubungi kami dengan mengirimkan email: [email protected]
Tencent Server Framework adalah kerangka server berbasis coroutine dan Swoole untuk penerapan server cepat yang dikembangkan oleh para insinyur Tencent.
vim server.ini
[server]
;server type:tcp,udp,http
type = http
; port
listen[] = 12312
; entrance file
root = ' /data/web_deployment/serv/test/index.php '
;php start path
php = ' /usr/local/php/bin/php '
[setting]
; worker process num
worker_num = 16
; task process num
task_worker_num = 0
; dispatch mode
dispatch_mode = 2
; daemonize
daemonize = 1
; system log
log_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 );
$ thirdReq = new Swoole Client HTTP ( " http://www.qq.com " );
$ calls -> request ( $ firstReq , ' first ' ); // first request
$ calls -> request ( $ secondReq , ' second ' ); // second request
$ calls -> request ( $ thirdReq , ' third ' ); // third request
yield $ calls ;
}
var_dump ( $ res )
$ sql = new Swoole Client MYSQL ( array ( ' host ' => ' 127.0.0.1 ' , ' port ' => 3345 , ' user ' => ' root ' , ' password ' => ' root ' , ' database ' => ' test ' , ' charset ' => ' utf-8 ' ,));
$ ret = ( yield $ sql -> query ( ' show tables ' ));
var_dump ( $ ret );
$ ret = ( yield $ sql -> query ( ' desc test ' ));
var_dump ( $ ret );
URL METHOD CONTROLLER ACTION
http: // 127.0 . 0.1 : 80 / Test ? h = 1 ANY == > TestController / ActionIndex
http: // 127.0 . 0.1 : 80 / Test / send ? h = 1 ANY == > TestController / ActionSend
Restful
http: // 127.0 . 0.1 : 80 / rest GET == > TestController / ActionList
http: // 127.0 . 0.1 : 80 / rest / Test / 22 GET == > TestController / ActionView
Get[ ' id ' ]= 22
http: // 127.0 . 0.1 : 80 / rest / Test POST == > TestController / ActionCreate
http: // 127.0 . 0.1 : 80 / rest / Test / 22 PUT == > TestController / ActionUpdate
Get[ ' id ' ]= 22
http: // 127.0 . 0.1 : 80 / rest / Test / 22 DELETE == > TestController / ActionDelete
Get[ ' id ' ]= 22
http: // 127.0 . 0.1 : 80 / rest / Test / send / 1 / li GET == > TestController / ActionSend
Get[ ' cid ' ]= 1 Get[ ' name ' ]=li
Kontribusi Anda terhadap pengembangan TSF sangat kami harapkan!
Anda dapat berkontribusi dengan cara berikut: