基于協程和swoole驅動的高性能PHP框架TSF

  • 開源協議:Apache
  • 操作系統: Windows Linux OS X
  • 開發語言:Php
  • 項目所有者:Tencent
  • 所屬公司:騰訊
  • 收錄時間:2015-07-06
  • 分享:
編輯評級
3

項目詳細介紹

tsf (Tencent Server Framework) 是騰訊公司推出的 PHP 協程方案,基于 Swoole+PHP Generator 實現的 Coroutine。Tencent Server Framework 是快速服務器部署框架,PHP 現在可以像 Golang 一樣用協程實現高并發服務器,同時支持同步阻塞,異步非阻塞回調,協程這 3 種 IO 模型。

主要特性:

  • 基于 PHP,相比 C++ 開發更高效

  • 基于 Swoole 擴展,強大的異步 IO

  • 支持 PHP coroutine

  • 支持服務器監控器和提供接口

要求:

  • php5.5+

  • Swoole1.7.18+

  • linux,OS X

服務器配置:

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

使用 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);
  }


相關教程

湖北体彩十一选五玩法 业绩权重是什么意思 快乐双彩开奖结果查 赌博参与者和组织者的区别 股权投资基金配资 吉林快3开奖快结果 幸运农场重庆官网 澳洲快乐8开奖号码 股票推荐网站可以做优化吗 山东11选5任一计划 北京11选5定牛结果