workerman怎么用

workerman怎么用

workerman是一款開源高性能異步php socket即時通訊框架。支持高并發,超高穩定性,被廣泛的用于手機app、移動通訊,微信小程序,手游服務端、網絡游戲、PHP聊天室、硬件通訊、智能家居、車聯網、物聯網等領域的開發。 ?(推薦學習: workerman教程

?支持TCP長連接,支持websocket、http等協議,支持自定義協議。擁有異步mysql、異步redis、異步Http、MQTT物聯網客戶端、異步消息隊列等眾多高性能組件。

workerman本身是一個PHP多進程服務器框架,具有PHP進程管理以及socket通信的模塊,所以不依賴php-fpm、nginx或者apache等這些容器便可以獨立運行。

1.首先下載官方Workerman框架

2.作為服務器端

在workerman框架根目錄新建一個文件

use?WorkermanWorker; 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?WorkermanConnectionAsyncTcpConnection;?//要引用這個文件 $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();

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享