這篇文章將為大家詳細(xì)講解有關(guān)workerman的用法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)公司專注于網(wǎng)站建設(shè),為客戶提供網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)頁設(shè)計開發(fā)服務(wù),多年建網(wǎng)站服務(wù)經(jīng)驗,各類網(wǎng)站都可以開發(fā),高端網(wǎng)站設(shè)計,公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設(shè)計,建網(wǎng)站費用,建網(wǎng)站多少錢,價格優(yōu)惠,收費合理。
Workerman是一款開源高性能異步PHP socket即時通訊框架。支持高并發(fā),超高穩(wěn)定性,被廣泛的用于手機(jī)app、移動通訊,微信小程序,手游服務(wù)端、網(wǎng)絡(luò)游戲、PHP聊天室、硬件通訊、智能家居、車聯(lián)網(wǎng)、物聯(lián)網(wǎng)等領(lǐng)域的開發(fā)。
支持TCP長連接,支持Websocket、HTTP等協(xié)議,支持自定義協(xié)議。擁有異步MySQL、異步redis、異步Http、MQTT物聯(lián)網(wǎng)客戶端、異步消息隊列等眾多高性能組件。
workerman本身是一個PHP多進(jìn)程服務(wù)器框架,具有PHP進(jìn)程管理以及socket通信的模塊,所以不依賴php-fpm、nginx或者apache等這些容器便可以獨立運行。
1.首先下載官方Workerman框架
2.作為服務(wù)器端
在workerman框架根目錄新建一個文件
use Workerman\Worker; require_once __DIR__ . '/Workerman/Autoloader.php'; // 注意:使用的是websocket協(xié)議 $ws_worker = new Worker("websocket://0.0.0.0:2000"); //這里最好是0.0.0.0 // 啟動4個進(jìn)程對外提供服務(wù) $ws_worker->count = 4; $ws_worker->onWorkerStart = function($ws_worker){ }; $ws_worker->onConnect = function($ws_worker){ }; $ws_worker->onMessage = function($connection, $data)use($ws_worker){ //如果想用$ws_worker的話需要 use傳進(jìn)來 }; $worker->onClose = function($connection){ }; php yaofile.php start debug模式 啟動 php yaofile.php start -d (守護(hù)進(jìn)程)啟動
3.前端代碼
ws = new WebSocket("ws://47.90.81.150:2000"); //服務(wù)器的ip ws.onopen = function() { console.log("連接成功"); } ws.onmessage = function(e) { console.log("收到服務(wù)端的消息:" + e.data); } foreach($ws_worker->connections as $connection) { $connection->send($cachearray); }
4.作為客戶端
use Workerman\Connection\AsyncTcpConnection; //要引用這個文件 $con = new AsyncTcpConnection('ws://api.huobi.pro:443/ws'); //遠(yuǎn)程服務(wù)器的連接 // 設(shè)置以ssl加密方式訪問,使之成為wss $con->transport = 'ssl'; $con->onConnect = function($con) { $con->send($data); } $con->onMessage = function($con, $data) { }; $con->connect();
關(guān)于“workerman的用法”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。