swoole2.0与java_swoole2.0试用说明

Swoole在2.0开始内置协程的能力,提供了具备协程能力IO接口.最好的好处是开发者可以以同步编码的方式达到异步IO的效果.

Swoole2.0安装要求

php版本要求:>= 5.5, 暂不支持PHP7

基于swoole_server或者swoole_http_server进行开发,目前支持在onRequet, onReceive, onConnect回调中使用协程

安装过程

启用–enable-async-redis –enable-coroutine

安装常见问题

1.找不到libhiredis.so.0.13 ,确保安装了hiredis前提下.增加/etc/ld.so.conf.d/lib.conf文件。内容”/usr/local/lib”.然后运行ldconfig命令

2.gcc 4.4下如果在编译swoole的时候(即make阶段),出现gcc warning

dereferencing pointer ‘v.327’ does break strict-aliasing rules、dereferencing type-punned pointer will break strict-aliasing rules

请手动编辑Makefile,将CFLAGS = -Wall -pthread -g -O2替换为CFLAGS = -Wall -pthread -g -O2 -fno-strict-aliasing,

然后重新编译make clean;make;make install

安装完成后,请用php -m 来确认swoole是否安装成功.

第一个代码示例.

$serv = new swoole\http\server("0.0.0.0", 1215);

$serv->set([

'worker_num' => 1,

]);

$serv->on('Request', function($request, $response) {

$response->header("X-Server", "Swoole");

$cli = new Swoole\Coroutine\Http\Client('127.0.0.1', 80);

$cli->setHeaders([

'Host' => "test.xtgxiso.cn",

"User-Agent" => 'Chrome/49.0.2587.3',

'Accept' => 'text/html,application/xhtml+xml,application/xml',

'Accept-Encoding' => 'gzip',

]);

$cli->set([ 'timeout' => 2]);

$cli->get('/sleep1.php');

$str = $cli->body;

$cli->close();

$response->end("

Hello Swoole!

".$str);

});

$serv->start();

代码大致的功能是,以一个进程启动一个http server,访问一个url.这个url会sleep(1)

模拟并发

echo "123";

访问的效果

f8cjrsBAAAAPlJcsgonDeHIofOo4tkVS1Ls2bZFuKdsf8XJ7WdzXLl6qcZvjn1jcgxUAAAAABJMMbR0TMI3hIEKAAAAgAADlc4bwkAFAAAAQIyZyvGtYKACAAAAAEMMVAAAAABgyNqQVwYAAAAAMGCFiIiIiIiIyCgGKiIiIiIiIsMYqIiIiIiIiAxjoCIiIiIiIjKMgYqIiIiIiMgwBioiIiIiIiLDGKiIiIiIiIgMY6AiIiIiIiIyjIGKiIiIiIjIMAYqIiIiIiIiwxioiIiIiIiIDGOgIiIiIiIiMoyBioiIiIiIyDAGKiIiIiIiIsMYqIiIiIiIiAxjoCIiIiIiIjKMgYqIiIiIiMgwBioiIiIiIiLDGKiIiIiIiIgMY6AiIiIiIiIyjIGKiIiIiIjIsP8PxMZtyopUtlsAAAAASUVORK5CYII=

通过这个示例,我们已经可以明白swoole2.0的好处了。原来为了实现高并发,用的是IO复用,是各种回调。现在内置了协程,实现了高性能的同时代码看起来也是同步的!期待swoole2.0越来越强大.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值