Tencent Server Framework is a coroutine and Swoole based server framework for fast server deployment which developed by Tencent engineers.
- 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
Your contribution to TSF development is very welcome!
You may contribute in the following ways:
来源: https://juejin.im/entry/59f2cccb6fb9a0450167337b