tsf
1.0.0
المشروع حاليًا في حالة أرشيفية شكرًا لك على اهتمامك بمشاريع Tencent مفتوحة المصدر. يمكنك الاستمرار في تفرع وتحديث التكرارات، شكرًا لك على تفهمك ودعمك؛ إذا كانت لديك أسئلة أخرى، فمن المستحسن الاتصال بنا عن طريق إرسال بريد إلكتروني: [email protected]
Tencent Server Framework هو إطار عمل خادم قائم على coroutine وSwoole للنشر السريع للخادم والذي تم تطويره بواسطة مهندسي 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
مساهمتك في تطوير TSF موضع ترحيب كبير!
يمكنك المساهمة بالطرق التالية: