php中Workerman框架實(shí)例講解
在我們探討php框架的開(kāi)發(fā)時(shí),更多的是偏向于理論的框架。那么本篇要講的Workerman框架,與其他的框架有很大的不同,可以廣泛的應(yīng)用在生活中。我們平時(shí)所用到的軟件,也許正是Workerman開(kāi)發(fā)出來(lái)的。下面我們就php中Workerman框架的概念、與其他框架區(qū)別帶來(lái)講解。
1、概念Workerman是一款純PHP開(kāi)發(fā)的開(kāi)源高性能的PHP socket 服務(wù)器框架。被廣泛的用于手機(jī)app、移動(dòng)通訊,微信小程序,手游服務(wù)端、網(wǎng)絡(luò)游戲、PHP聊天室、硬件通訊、智能家居、車(chē)聯(lián)網(wǎng)、物聯(lián)網(wǎng)等領(lǐng)域的開(kāi)發(fā)。 支持TCP長(zhǎng)連接,支持Websocket、HTTP等協(xié)議,支持自定義協(xié)議。擁有異步Mysql、異步Redis、異步Http、異步消息隊(duì)列等眾多高性能組件。
2、與其他框架區(qū)別Workerman 的核心要點(diǎn)和 Swoole 一致,但采用了純 PHP 的 Web Socket 實(shí)現(xiàn)。和 Swoole 相比最大的好處是移除了對(duì) C 擴(kuò)展的需求,但必須采用 CLI 模式運(yùn)行使其還是無(wú)法跑在虛擬主機(jī)上。
3、使用實(shí)例websocket服務(wù)器
<?phprequire_once __DIR__ . ’/vendor/autoload.php’;use WorkermanWorker;// 創(chuàng)建一個(gè)Websocket服務(wù)器$ws_worker = new Worker('websocket://0.0.0.0:2346');$ws_worker->count = 4;// 在新連接到來(lái)時(shí)發(fā)出$ws_worker->onConnect = function($connection){ echo 'New connectionn'; };// 接收數(shù)據(jù)時(shí)發(fā)出$ws_worker->onMessage = function($connection, $data){ // Send hello $data $connection->send(’hello ’ . $data);};// 連接關(guān)閉時(shí)發(fā)出$ws_worker->onClose = function($connection){ echo 'Connection closedn';};// 運(yùn)行workerWorker::runAll();
知識(shí)點(diǎn)擴(kuò)展:
workerman的特性
Workerman是一款純PHP開(kāi)發(fā)的開(kāi)源的高性能的PHP socket 異步框架。被廣泛的用于移動(dòng)通訊、手游服務(wù)端、網(wǎng)絡(luò)游戲服務(wù)器、聊天室服務(wù)器、硬件通訊服務(wù)器、智能家居、車(chē)聯(lián)網(wǎng)、物聯(lián)網(wǎng)等領(lǐng)域的開(kāi)發(fā)。 支持Websocket、HTTP等協(xié)議,支持自定義協(xié)議。基于workerman開(kāi)發(fā)者可以更專(zhuān)注于業(yè)務(wù)邏輯開(kāi)發(fā),不必再為PHP Socket底層開(kāi)發(fā)而煩惱。
workerman諸多的不同尋常的特性,使得PHP開(kāi)發(fā)者可以開(kāi)發(fā)出不同尋常的應(yīng)用程序。
官網(wǎng)地址: http://www.workerman.net
官網(wǎng)有很具體的開(kāi)發(fā)文檔,這里我就給大家介紹下 ,它的一些特性,功能還是很強(qiáng)大的!
純PHP開(kāi)發(fā)
workerman完全使用PHP開(kāi)發(fā),使用workerman開(kāi)發(fā)的應(yīng)用程序不依賴(lài)php-fpm、apache、nginx這些容器就可以獨(dú)立運(yùn)行。 這使得PHP開(kāi)發(fā)者開(kāi)發(fā)、部署、調(diào)試應(yīng)用程序非常方便。
支持PHP多進(jìn)程
為了充分發(fā)揮服務(wù)器多CPU的性能,workerman默認(rèn)支持多進(jìn)程多任務(wù)。workerman開(kāi)啟一個(gè)主進(jìn)程和多個(gè)子進(jìn)程對(duì)外提供服務(wù), 主進(jìn)程負(fù)責(zé)監(jiān)控子進(jìn)程退出信號(hào),并負(fù)責(zé)生成新的子進(jìn)程去處理服務(wù),這樣做不僅提高了應(yīng)用程序的性能,而且使得workerman更加穩(wěn)定。
支持TCP、UDP
workerman支持TCP和UDP兩種傳輸層協(xié)議,只需要更改配置的一個(gè)字段,便可以更換傳輸層協(xié)議,業(yè)務(wù)代碼無(wú)需任何改動(dòng)。
到此這篇關(guān)于php中Workerman框架實(shí)例講解的文章就介紹到這了,更多相關(guān)php中Workerman框架是什么內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 解決AJAX返回狀態(tài)200沒(méi)有調(diào)用success的問(wèn)題2. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)3. 如何在jsp界面中插入圖片4. 爬取今日頭條Ajax請(qǐng)求5. jsp EL表達(dá)式詳解6. Ajax實(shí)現(xiàn)表格中信息不刷新頁(yè)面進(jìn)行更新數(shù)據(jù)7. jsp中sitemesh修改tagRule技術(shù)分享8. asp(vbscript)中自定義函數(shù)的默認(rèn)參數(shù)實(shí)現(xiàn)代碼9. ASP基礎(chǔ)知識(shí)VBScript基本元素講解10. JSP servlet實(shí)現(xiàn)文件上傳下載和刪除
