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高出數倍。