v4.5.0,是一次重大版本更新。4.5版本去除了4.4版本中标记为过时的特性,并极大优化了异步Server消息回调函数。表现。增强了对PHP-FPM调用的支持。添加APIDTLS支持,现在我们可以用它来构建WebRTC应用程序(#3188)(@matyhtf)内置FastCGI客户端,我们可以使用一行代码将请求代理到FPM或调用FPM应用程序(swoole/library#17)(@twose)Co::wait,Co::waitPid(用于回收子进程)Co::waitSignal(用于等待信号)(#3158)(@twose)Co::waitEvent(用于等待指定事件在套接字事件上)(#3197)(@twose)Co::set(['exit_condition'=>$callable])(自定义程序退出的条件)(#2918)(#3012)(@twose)Co::getElapsed(获取协程运行时间分析统计或寻找僵尸协程)(#3162)(@doubaokun)Socket::checkLiveness(通过系统调用检查连接是否活跃),Socket::peek(peekat读取缓冲区)(#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(获取工作进程状态,返回常量SWOOLE_WORKER_BUSY,SWOOLE_WORKER_IDLE以指示繁忙状态)(#3225)(@matyhtf)Server->on('beforeReload',$callable)andServer->on('afterReload',$callable)(servicerestartevent,happensinmanagerprocess)(#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相关API,可以对内置mime类型进行增删改查)(#3134)(@twose)增强优化MasterMemorycopywithWorkerprocess(极端情况下性能提升四倍)(#3075)(#3087)(@hantaohuang)优化WebSocket调度逻辑(#3076)(@matyhtf)优化内存拷贝WebSocket构造框架时(#3097)(@matyhtf)优化SSL验证模块(#3226)(@matyhtf)分离SSLaccept和SSLhandshake,解决慢SSLclient可能导致coroutineserverfreeze的问题(#3214)(@twose)支持MIPS架构(#3196)(@ekongyun)UDP客户端现在可以自动解析传入的域名(#3236)(#3239)(@huanghantao)Coroutine\Http\Server增加对s的支持一些常用选项(#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::asyncfunctionispassedtolambdatoinitiateanasynchronousthreadtask(#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,直接使用time函数来获取时间(#3152)(@hantaohuang)优化协议配置器(#3108)(@twose)C结构初始化兼容性更好(#3069)(@twose)位域统一为uchar类型(#3071)(@twose)支持并行测试,速度更快(#3215)(@twose)修复启用enable_delay_receive时无法触发onConnect的问题(#3221)(#3224)(@matyhtf)所有其他错误修复已修复合并到v4.4.x分支并反映在更新日志中,这里不再详细介绍
