swoole是一個面向生產(chǎn)環(huán)境的?PHP?異步網(wǎng)絡(luò)通信引擎,使 PHP 開發(fā)人員可以編寫高性能的異步并發(fā) TCP、UDP、Unix Socket、HTTP,WebSocket 服務(wù)。? ? ? ? ? ? ? ? ? (推薦學(xué)習(xí): swoole視頻教程)
Swoole 可以廣泛應(yīng)用于互聯(lián)網(wǎng)、移動通信、企業(yè)軟件、云計(jì)算、網(wǎng)絡(luò)游戲、物聯(lián)網(wǎng)(IOT)、車聯(lián)網(wǎng)、智能家居等領(lǐng)域。 使用 PHP + Swoole 作為網(wǎng)絡(luò)通信框架,可以使企業(yè) IT 研發(fā)團(tuán)隊(duì)的效率大大提升。
Libevent 是一個用C語言編寫的、輕量級的開源高性能事件通知庫,主要有以下幾個亮點(diǎn):
事件驅(qū)動( event-driven),高性能;
輕量級,專注于網(wǎng)絡(luò),不如 ACE 那么臃腫龐大;
源代碼相當(dāng)精煉、易讀;跨平臺,支持 Windows、 Linux、 *BSD 和 Mac Os;支持多種 I/O 多路復(fù)用技術(shù), epoll、 poll、 dev/poll、 select 和 kqueue 等;支持 I/O,定時器和信號等事件;注冊事件優(yōu)先級。
Libevent 已經(jīng)被廣泛的應(yīng)用,作為底層的網(wǎng)絡(luò)庫;比如 memcached、 Vomit、 Nylon、 Netchat等等。
Swoole Socket網(wǎng)絡(luò)開發(fā)框架,是基于php的libevent和pcntl模塊的,并且只能用于Linux/Unix系統(tǒng)下。
請先啟用pcntl,安裝libevent擴(kuò)展。
pcntl:PHP核心模塊已包含了pcntl,只需在編譯時加入–enable-pcntl即可,當(dāng)然也可以用extension擴(kuò)展
libevent:http://pecl.php.net/package/libevent
編寫的類需要繼承自TCPServer類,在SwooleSocket包中。目前只提供了單進(jìn)程異步事件模型,適合用于IO耗時較少的網(wǎng)絡(luò)服務(wù)器程序,比如聊天室。多進(jìn)程異步模型,多進(jìn)程同步模型,會在近期提供。