1.8.8

最后更新于:2022-04-02 06:44:12

# 1.8.8 [TOC] * 增加`Swoole\Server\Port->getSocket`方法,可获取监听端口的socket句柄 * 增加`Swoole\Server->getClientInfo()['close_errno']`属性,可获取连接关闭的错误码 * 修复`Swoole\Server->close`无法关闭未完成握手的SSL客户端连接的问题 * 修复`Swoole\Server->taskwait`在BASE模式下无法使用的问题 * 增加`Swoole\Event`命名空间与类风格的API * 修复`Swoole\MySQL`客户端无法支持超过250字段查询语句的问题 * 增加`Swoole\MySQL`字符集设置支持 * 修复`Swoole\Server->task`第三参数传入Callback在PHP7下发生崩溃的问题 * 修复`Swoole\Http\Server`由于外部引用request对象后用户取消请求导致崩溃的问题 * 增加`Swoole\Server->taskWaitMulti`可以并发执行多个任务 * 修复`Swoole\Http\Client`的WebSocket客户端接收数据粘包的问题 * 增加`Swoole\Server\Port`对`Request`、`Open`、`HandShake`、`Message`回调函数设置支持 * 增加`Swoole\Client->getPeerCert`方法 * 增加`Swoole\Client->pause`和`Swoole\Client->resume` * 增加`Swoole\Http\Client`更多的客户端设置选项 * 修复`Swoole\Http\Request->files`在PHP7下为NULL时被外部引用发生崩溃的问题 ## 并发Task特性 之前的版本`taskwait`只支持同时执行一个任务,在一些场景下需要同时并发执行多个Task,并返回结果集。最新的`1.8.8`版本增加了并发Task的支持,可以解决此类问题。 ~~~ $tasks[] = mt_rand(1000, 9999); $tasks[] = mt_rand(1000, 9999); //等待所有Task结果返回,超时为10s var_dump($tasks); $results = $serv->taskWaitMulti($tasks, 10.0); var_dump($results); ~~~
';