tsf
1.0.0
プロジェクトは現在アーカイブ状態です。Tencent のオープンソース プロジェクトにご注目いただきありがとうございます。繰り返しのフォークと更新を続けることができます。ご理解とご支援に感謝します。その他の質問がある場合は、電子メールを送信して問い合わせることをお勧めします: [email protected]
Tencent Server Framework は、Tencent のエンジニアによって開発された、高速サーバー展開のためのコルーチンと Swoole ベースのサーバー フレームワークです。
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
TSF 開発へのあなたの貢献は大歓迎です!
次の方法で貢献できます。