内容简介:4.5.0 这是一个大版本更新,在 4.5 版本中移除了 4.4 版本中标记为已废弃的特性,大幅优化了异步 Server 消息回调函数的性能。增强了对于 PHP-FPM 互调用的支持。 新增 API DTLS 支持, 现在我们可以此来构建 WebR...
4.5.0 这是一个大版本更新,在 4.5 版本中移除了 4.4 版本中标记为已废弃的特性,大幅优化了异步 Server 消息回调函数的性能。增强了对于 PHP-FPM 互调用的支持。
新增 API
-
DTLS 支持, 现在我们可以此来构建 WebRTC 应用 (#3188) (@matyhtf)
-
内置的
FastCGI
客户端, 我们可以通过一行代码来代理请求到 FPM 或是调用 FPM 应用 (swoole/library#17) (@twose) -
Co::wait
,Co::waitPid
(用于回收子进程)Co::waitSignal
(用于等待信号) (#3158) (@twose) -
Co::waitEvent
(用于等待 socket 上发生的指定的事件) (#3197) (@twose) -
Co::set(['exit_condition' => $callable])
(用于自定义程序退出的条件) (#2918) (#3012) (@twose) -
Co::getElapsed
(获取协程运行的时间以便于分析统计或找出僵尸协程) (#3162) (@doubaokun) -
Socket::checkLiveness
(通过系统调用判断连接是否活跃),Socket::peek
(窥视读缓冲区) (#3057) (@twose) -
Socket->setProtocol(['open_fastcgi_protocol' => $bool])
(内置的 FastCGI 解包支持) (#3103) (@twose) -
Server::get(Master|Manager|Worker)Pid
,Server::getWorkerId
(获取异步 Server 单例和其信息) (#2793) (#3019) (@matyhtf) -
Server::getWorkerStatus
(获取 worker 进程状态, 返回常量 SWOOLE_WORKER_BUSY, SWOOLE_WORKER_IDLE 以表示忙闲状态) (#3225) (@matyhtf) -
Server->on('beforeReload', $callable)
和Server->on('afterReload', $callable)
(服务重启事件, 发生在 manager 进程) (#3130) (@hantaohuang) -
Http\Server
静态文件处理器现在支持http_index_files
和http_autoindex
配置 (#3171) (@hantaohuang) -
Http2\Client->read(float $timeout = -1)
方法支持读取流式的响应 (#3011) (#3117) (@twose) -
Http\Request->getContent
(rawContent 方法的别名) (#3128) (@hantaohuang) -
swoole_mime_type_(add|set|delete|get|exists)()
(mime 相关 APIs, 可增删查改内置的 mime 类型) (#3134) (@twose)
增强
-
优化 master 和 worker 进程间的内存拷贝(极限情况下提升了四倍性能) (#3075) (#3087) (@hantaohuang)
-
优化 WebSocket 派遣逻辑 (#3076) (@matyhtf)
-
优化 WebSocket 构造帧时的一次内存拷贝 (#3097) (@matyhtf)
-
优化 SSL 验证模块 (#3226) (@matyhtf)
-
分离 SSL accept 和 SSL handshake, 解决慢速 SSL 客户端可能会造成协程服务器假死的问题 (#3214) (@twose)
-
支持 MIPS 架构 (#3196) (@ekongyun)
-
UDP 客户端现在可以自动解析传入的域名 (#3236) (#3239) (@huanghantao)
-
Coroutine\Http\Server 增加支持了一些常用的选项 (#3257) (@twose)
-
支持在 WebSocket 握手时设置 cookie (#3270) (#3272) (@twose)
-
支持 CURLOPT_FAILONERROR (swoole/library#20) (@sy-records)
-
支持 CURLOPT_SSLCERTTYPE, CURLOPT_SSLCERT, CURLOPT_SSLKEYTYPE, CURLOPT_SSLKEY (swoole/library#22) (@sy-records)
-
支持 CURLOPT_HTTPGET (swoole/library@d730bd08) (@shiguangqi)
移除
-
移除
Runtime::enableStrictMode
方法 (b45838e3) (@twose) -
移除
Buffer
类 (559a49a8) (@twose)
内核相关
-
新的 C++的 API: coroutine::async 函数传入 lambda 即可发起异步线程任务 (#3127) (@matyhtf)
-
重构底层 event-API 中的整数型 fd 为 swSocket 对象 (#3030) (@matyhtf)
-
所有核心的 C 文件都已转化为 C++文件 (#3030) (71f987f3) (@matyhtf)
-
一系列代码优化 (#3063) (#3067) (#3115) (#3135) (#3138) (#3139) (#3151) (#3168) (@hantaohuang)
-
对于头文件的规范化优化 (#3051) (@matyhtf)
-
重构
enable_reuse_port
配置项使其更加规范 (#3192) (@matyhtf) -
重构 Socket 相关 API 使其更加规范 (#3193) (@matyhtf)
-
通过缓冲区预测来减少一次不必要的系统调用 (3b5aa85d) (@matyhtf)
-
移除底层的刷新定时器 swServerGS::now, 直接使用时间函数获取时间 (#3152) (@hantaohuang)
-
优化协议配置器 (#3108) (@twose)
-
兼容性更好的 C 结构初始化写法 (#3069) (@twose)
-
bit 字段统一为 uchar 类型 (#3071) (@twose)
-
支持并行测试, 速度更快 (#3215) (@twose)
修复
-
修复 enable_delay_receive 开启后 onConnect 无法触发的问题 (#3221) (#3224) (@matyhtf)
-
所有其它的 bug 修复都已合并到 v4.4.x 分支并在更新日志中体现, 在此不再赘述
以上所述就是小编给大家介绍的《Swoole 4.5 发布,新增多项新特性》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- yue-library Greenwich.SR1 发布:SpringBoot基础库新增多特性
- Bootstrap 4.1.2 发布,新增多项功能
- Oracle Linux 7.4 发布,新增多项功能
- Oracle Linux 7.5 发布,新增多项功能
- Harbor 1.9 发布,新增多项企业级功能
- 若依前后端分离版本 1.1 新增多项功能
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。