v4.5.0,这是一个大版本更新,在 4.5
版本中移除了 4.4
版本中标记为已废弃的特性,大幅优化了异步 Server
消息回调函数的性能。增强了对于 PHP-FPM
互调用的支持。
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)enable_reuse_port
配置项使其更加规范 (#3192) (@matyhtf)Socket
相关API
使其更加规范 (#3193) (@matyhtf)swServerGS::now
, 直接使用时间函数获取时间 (#3152) (@hantaohuang)C
结构初始化写法 (#3069) (@twose)bit
字段统一为uchar
类型 (#3071) (@twose)enable_delay_receive
开启后onConnect
无法触发的问题 (#3221) (#3224) (@matyhtf)bug
修复都已合并到v4.4.x
分支并在更新日志中体现, 在此不再赘述