您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關workerman的用法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
Workerman是一款開源高性能異步PHP socket即時通訊框架。支持高并發,超高穩定性,被廣泛的用于手機app、移動通訊,微信小程序,手游服務端、網絡游戲、PHP聊天室、硬件通訊、智能家居、車聯網、物聯網等領域的開發。
支持TCP長連接,支持Websocket、HTTP等協議,支持自定義協議。擁有異步Mysql、異步Redis、異步Http、MQTT物聯網客戶端、異步消息隊列等眾多高性能組件。
workerman本身是一個PHP多進程服務器框架,具有PHP進程管理以及socket通信的模塊,所以不依賴php-fpm、nginx或者apache等這些容器便可以獨立運行。
1.首先下載官方Workerman框架
2.作為服務器端
在workerman框架根目錄新建一個文件
use Workerman\Worker; require_once __DIR__ . '/Workerman/Autoloader.php'; // 注意:使用的是websocket協議 $ws_worker = new Worker("websocket://0.0.0.0:2000"); //這里最好是0.0.0.0 // 啟動4個進程對外提供服務 $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傳進來 }; $worker->onClose = function($connection){ }; php yaofile.php start debug模式 啟動 php yaofile.php start -d (守護進程)啟動
3.前端代碼
ws = new WebSocket("ws://47.90.81.150:2000"); //服務器的ip ws.onopen = function() { console.log("連接成功"); } ws.onmessage = function(e) { console.log("收到服務端的消息:" + 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'); //遠程服務器的連接 // 設置以ssl加密方式訪問,使之成為wss $con->transport = 'ssl'; $con->onConnect = function($con) { $con->send($data); } $con->onMessage = function($con, $data) { }; $con->connect();
關于“workerman的用法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。