Tencent Server Framework
Overview
Tencent Server Framework is a coroutine and Swoole based server framework for fast server deployment which developed by Tencent engineers.
Features
PHP Based. Compared with C++, the framework is more efficient in developing and programing.
-
based on Swoole extension. powerful async IO, timers and other infrastructure capacity can be used in this framework.
立即学习“PHP免费学习笔记(深入)”;
support PHP coroutine. Synchronous programing is possible using the coroutine schedule system, and can lead to the similar server capability with that of server deveoped in an asynchronous way.
support server monitor and provide interface to add more rules
Requirements
php5.5+
Swoole1.7.18+
linux,OS X
ECTouch移动商城系统下载ECTouch是上海商创网络科技有限公司推出的一套基于 PHP 和 MySQL 数据库构建的开源且易于使用的移动商城网店系统!应用于各种服务器平台的高效、快速和易于管理的网店解决方案,采用稳定的MVC框架开发,完美对接ecshop系统与模板堂众多模板,为中小企业提供最佳的移动电商解决方案。ECTouch程序源代码完全无加密。安装时只需将已集成的文件夹放进指定位置,通过浏览器访问一键安装,无需对已有
Installation
PHP install
Swoole extension install
Introduction
Tencent Server Framework can help you to start your server quickly,you just need to set a few settings
Server config
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'
How to start you server
cd /root/tsf/bin/ php swoole testHttpServ start
Support Cmds: start,stop,reload,restart,status,shutdown
How to use TCP/UDP/HTTP Client
we support different network protocols: TCP,UDP,HTTP
$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);
}How to use Muticall
Beside that,we also support Muticall:
you can use Muticall to send TCP,UDP packets at the sametime
when all the requests come back,return to interrupt
$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)以上就是TSF:腾讯推出的 PHP 协程方案的内容,更多相关内容请关注PHP中文网(www.php.cn)!










