微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

TSF 基于协程和 Swoole 驱动的高性能 PHP 框架

程序名称:TSF

授权协议: BSD

操作系统: 跨平台

开发语言: PHP

TSF 介绍

TSF 是腾讯开源的一套基于协程和 Swoole 驱动的高性能 PHP 框架,可以帮助开发者快速开发和部署具备高 IO 吞吐能力的 HTTP/TCP/UDP
服务。

TSF 具备以下特点:

  1. 基于 PHP,相比 C++ 等语言具有更高的开发效率

  2. 基于 Swoole 强大的异步 IO 、定时器能力,极大的扩展了框架能力

  3. 实现了 PHP 协程能力,通过同步的开发方式就可以实现异步 IO 的能力

  4. 支持服务监控恢复能力

要求:

  • PHP 5.5 +

  • Swoole 1.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);
  }

TSF 官网

https://github.com/Tencent/tsf

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐