swoole 1.7.13 发布,增加对 ARM 平台的支持
PHP的异步并行网络扩展 swoole 1.7.13 版本已发布,此版本现已提供下载:
主要更新:
-
增加对ARM平台的支持,可在树莓派等ARM系统上使用swoole,开发网络通信程序
-
已全面测试通过TCP/UDP服务器端/客户端对IPv6的支持
-
swoole_table已测试通过,可用于实际项目
-
增加swoole_server->sendto接口,可向任意IP:PORT发送UDP包
-
增加swoole_client->getpeername
-
增加swoole_client->getsockname
-
增加swoole_client->sendto
-
增加swoole_process::wait的非阻塞设置
-
修复MacOS/FreeBSD在大量并发时出现ENOBUFF错误
-
增加Http服务器分片(chunk)发送的支持
-
增加pcre检测,编译无需依赖pcre
-
修复websocket服务器握手时Sec-WebSocket-Accept串偶发错误的问题
-
修复Http服务器在开启KeepAlive时连续POST数据发生coredump的问题
-
修复task临时文件磁盘空间未释放的BUG
-
connection_info中的from_fd, from_port 修改为 server_fd, server_port
-
connection_info增加socket_type项表示客户端的类型
-
优化内置Http服务器性能
-
优化内置WebSocket服务器性能
Swoole是一个PHP的C扩展,可用来开发PHP的高性能高并发TCP/UDP Server。Swoole的网络IO部分基于epoll/kqueue事件循环,是全异步非阻塞的。 业务逻辑部分使用多进程同步阻塞方式来运行。这样既保证了Server能够应对高并发和大量TCP连接。又保证业务代码仍然可以简单的编写。
Swoole与Node.js相比更强大,支持同步/异步、多进程并行,Swoole提供了进程生命周期管理、内存保护机制,开发者无需考虑底层细节,专注于业务逻辑和功能的开发。
Swoole的网络事件处理是多线程的,可以充分利用多核。而Node.js是单进程单线程的。使用官方提供的EchoServer在多核环境下压测。Swoole的处理能力比node.js高出数倍。