Swoole是一個以生產環境為導向的 PHP 非同步網路通訊引擎,讓PHP 開發人員可以編寫高效能的非同步並發TCP、UDP、Unix Socket、HTTP,WebSocket 服務。 (建議學習: swoole視訊教學)
Swoole 可廣泛應用於網路、行動通訊、企業軟體、雲端運算、網路遊戲、物聯網(IOT)、車聯網、智慧家庭等領域。使用 PHP Swoole 作為網路通訊框架,可以讓企業 IT 研發團隊的效率大大提升。
Libevent 是一個用C語言編寫的、輕量級的開源高效能事件通知庫,主要有以下幾個亮點:
事件驅動( event- driven),高效能;
輕量級,專注於網絡,不如ACE 那麼臃腫龐大;
源代碼相當精煉、易讀;跨平台,支援Windows、 Linux、 *BSD和Mac Os;支援多種I/O 多工技術, epoll、 poll、 dev/poll、 select 和kqueue 等;支援I/O,定時器和訊號等事件;註冊事件優先順序。
Libevent 已經被廣泛的應用,作為底層的網路庫;例如 memcached、 Vomit、 Nylon、 Netchat等等。
Swoole Socket網路開發框架,是基於php的libevent和pcntl模組的,並且只能用於Linux/Unix系統下。
請先啟用pcntl,安裝libevent擴充功能。
pcntl:PHP核心模組已包含了pcntl,只需在編譯時加入--enable-pcntl即可,當然也可以用extension擴充
libevent:http:/ /pecl.php.net/package/libevent
所寫的類別需要繼承自TCPServer類,在SwooleSocket套件中。目前只提供了單進程非同步事件模型,適合用於IO耗時較少的網頁伺服器程序,例如聊天室。多進程非同步模型,多進程同步模型,將在近期提供。
以上是swoole與libevent區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!