加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

Swoole 1.10.0新版本宣布,增进了多项新特征

发布时间:2021-04-02 05:58:01 所属栏目:编程 来源:网络整理
导读:媒介 Swoole 可以普及应用于互联网、移动通讯、企业软件、云计较、收集游戏、物联网(IOT)、车联网、智能家居等规模。行使 PHP + Swoole 作为收集通讯框架,可以使企业 IT 研发团队的服从大大晋升,越发专注于开拓创新产物。最近,PHP的异步、并行、高机能

媒介

Swoole 可以普及应用于互联网、移动通讯、企业软件、云计较、收集游戏、物联网(IOT)、车联网、智能家居等规模。行使 PHP + Swoole 作为收集通讯框架,可以使企业 IT 研发团队的服从大大晋升,越发专注于开拓创新产物。最近,PHP的异步、并行、高机能收集通讯引擎 Swoole 已宣布 1.10.0 版本。此版本增进了多项新特征。下面话不多说了,来一路看看具体的先容吧。

自动 DNS 理会

新版本的异步客户端不再必要行使 swoole_async_dns_lookup 理会域名了,底层实现了自动域名理会。Client 在执行 connect 要领时可直接传入域名。

on("connect",function(swoole_client $cli) { $cli->send("GET / HTTP/1.1rnrn"); }); $client->on("receive",function(swoole_client $cli,$data){ echo "Receive: $data"; $cli->send(str_repeat('A',100)."n"); sleep(1); }); $client->on("error",function(swoole_client $cli){ echo "errorn"; }); $client->on("close",function(swoole_client $cli){ echo "Connection closen"; }); //底层会自动举办异步域名理会 $client->connect('www.baidu.com',9501);

慢哀求日记

新版本增进了追踪慢哀求成果,可记录慢哀求的 PHP 函数挪用栈。

set([ 'worker_num' => 1,'task_worker_num' => 1,'trace_event_worker' => true,'request_slowlog_timeout' => 1,'request_slowlog_file' => '/tmp/trace.log',]); $server->on('Receive',function($serv,$fd,$reactor_id,$data) { test(); $serv->send($fd,"Swoole: $data"); }); $server->start();

处理赏罚慢哀求后,/tmp/trace.log日记中将打印一行错误信息:

新增 STREAM 模块

新增的 stream 模块使得 Reactor、Worker、Task 历程之间的通讯方法更机动,最洪流平地解耦。伟大的线上项目行使 stream 模式,哀求分派调治的服从更高。

set(array( 'dispatch_mode' => 7,'worker_num' => 2,)); $serv->on('receive',function (swoole_server $serv,$threadId,$data) { var_dump($data); echo "#{$serv->worker_id}>> received length=" . strlen($data) . "n"; }); $serv->start();
  • Reactor 和 Worker 之间通讯,行使 dispatch_mode = 7 来开启
  • Worker 和 Task 之间通讯,行使 task_ipc_mode = 4 来开启

增进 Event::cycle 函数

用户代码可自界说一个 EventLoop 的钩子函数,此函数会在每一轮变乱轮回竣事时挪用。利便行使 Generator + Yield 或 Promise 类 Swoole 框架实现本身的调治器。

其他更新内容

  • 更新Table::incr和Table::decr支持有标记整型
  • 兼容PHP-7.2版本
  • 修复Event::del函数无法移除尺度输入句柄的题目
  • 修复Task历程内按时器隔断小于Client吸取超时时刻,引起Client::recv死锁的题目
  • 增进ssl_host_name设置项,用于验证SSL/TLS主机正当性
  • 行使dispatch_mode = 3时,当全部Worker为忙的状态时打印一条错误日记
  • 增进端口迭代器,可遍历某个监听端口的全部毗连
  • 修复Table在非x86平台存在的内存对齐题目
  • 修复BASE模式下max_request设置无效的题目
  • 修复WebSocket处事器在某些客户端ping帧带有mask数据时回包错误的题目
  • 修复HttpClient行使HEAD要领相应内容携带Content-Length导致卡死的题目
  • 增进MySQL异步客户端对JSON名目标支持

下载地点

GITHUB:

开源中国:

PECL:

当地下载:

总结

以上就是这篇文章的所有内容了,但愿本文的内容对各人的进修可能事变具有必然的参考进修代价,假若有疑问各人可以留言交换,感谢各人对编程之家的支持。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读