PHP的异步、并行、高性能网络通信引擎swoole已发布1.8.2版本,此版本增加了对Http2.0协议的支持,另外修复了swoole-1.8.1版本存在的一些BUG。基于Http2.0协议,swoole_http_server可以支持单连接并发请求处理和主动PUSH。目前Swoole仅支持基于TLS1.2加密的H2模式,暂不支持H2C Upgrade模式。
Http2.0使用示例:
$ssl_dir = realpath('../../tests/ssl'); $serv = new swoole_http_server("0.0.0.0", 9501, SWOOLE_BASE, SWOOLE_SOCK_TCP | SWOOLE_SSL); $serv->set([ 'ssl_cert_file' => $ssl_dir . '/ssl.crt', 'ssl_key_file' => $ssl_dir . '/ssl.key', 'open_http2_protocol' => true, ]); $serv->on('Request', function(swoole_http_request $request, swoole_http_response $response) { $response->end("<h1>Hello Swoole!</h1>\n"); }); $serv->start();
1.8.2其他重要更新:
- 修复WebSocket服务器接收超过64K数据发生崩溃的问题
- 修复多端口监听未设置回调函数导致程序崩溃的问题
- 提升SSL/TLS隧道加密的安全等级,现在默认使用TLS1.2/ECDHA_RSA加密算法
- 修复onFinish事件回调内存泄漏的问题
- 修复BASE模式下task finish无法使用的问题
- 增加log_level设置,可以选择错误日志的等级
下载地址: