真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

PHP中Libevent擴展有什么用

這篇文章主要為大家展示了“PHP中Libevent 擴展有什么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“PHP中Libevent 擴展有什么用”這篇文章吧。

我們擁有10多年網頁設計和網站建設經驗,從網站策劃到網站制作,我們的網頁設計師為您提供的解決方案。為企業(yè)提供網站設計、成都做網站、微信開發(fā)、微信小程序定制開發(fā)、手機網站制作設計H5建站、等業(yè)務。無論您有什么樣的網站設計或者設計方案要求,我們都將富于創(chuàng)造性的提供專業(yè)設計服務并滿足您的需求。

1、 libevent介紹

libevent是一個事件觸發(fā)的網絡庫,適用于windows、linux、freebsd等多種平臺,內部使用select、poll、epoll、kqueue等系統(tǒng)調用管理事件機制。Libevent是跨平臺的,而且具有非凡的性能。與nodejs一樣是事件驅動的;官方網站:http://libevent.org/

最新的穩(wěn)定版本

https://github.com/downloads/libevent/libevent/libevent-2.0.16-stable.tar.gz

主要模塊:

事件處理框架

事件引擎模塊

Buffer管理模塊

信號處理模塊

php本身不支持多線程,php不能很好實現(xiàn)并發(fā)機制。Pecl提供的pcntl(進程控制)、libevent擴展、socket包、stream系統(tǒng)函數(shù),可以使用php輕易地開發(fā)出高性能,高并發(fā)的網絡應用程序。

簡單應用事例:Pcntl fork n個worker。master process 得到請求后,處理信息發(fā)送給worker程序 、worker處理完后回傳給client。Master process 可以跟據并發(fā)量,來設定worker的數(shù)量,即n的大小,并monitor(監(jiān)控)worker的數(shù)據,在不足時啟動更多的進程。同nginx原理。

附:Php網絡編程框架

http://code.google.com/p/swoole/downloads/list

2、 為什么要學習libevent

http server可以說是libevent的經典應用??梢詮膌ibevent當中找到http的標準寫法,非阻塞的http server也就是socket處理與http協(xié)議處理纏繞。

學習libevent有助于提升程序設計功力,除了網絡程序設計方面外,Libevent的代碼里有很多有用的設計技巧和基礎數(shù)據結構,比如信息隱藏、函數(shù)指針、c語言的多態(tài)支持、鏈表和堆等等,都有助于提升自身的程序功力1。

對請求的處理的三種類型:

1、  connection input  fork a new process

2、  connection input  pthread_create

3、  connection input throw a Event-based array; main process do nonblocking things;

 

3、 Php libevent 擴展模塊安裝

Curl –O https://github.com/downloads/libevent/libevent/libevent-2.0.16-stable.tar.gz

 

Tar –zxvf libevent-2.0.16-stable.tar.gz

Cd libevent-2.0.16-stable

/usr/local/php/bin/phpize

./configure

make

make install

vi /usr/local/php/etc/php.ini

extension_dir=””;

extension=libevent.so

php –m | grep lib

安裝成功

以上是“PHP中Libevent 擴展有什么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


標題名稱:PHP中Libevent擴展有什么用
路徑分享:http://weahome.cn/article/jjhdii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部