swoole 1.7.13 發布,增加對 ARM 平臺的支持

jopen 9年前發布 | 11K 次閱讀 Swoole

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

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!