溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

workerman的用法

發(fā)布時間:2021-01-08 16:24:55 來源:億速云 閱讀:152 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關workerman的用法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Workerman是一款開源高性能異步PHP socket即時通訊框架。支持高并發(fā),超高穩(wěn)定性,被廣泛的用于手機app、移動通訊,微信小程序,手游服務端、網(wǎng)絡游戲、PHP聊天室、硬件通訊、智能家居、車聯(lián)網(wǎng)、物聯(lián)網(wǎng)等領域的開發(fā)。

支持TCP長連接,支持Websocket、HTTP等協(xié)議,支持自定義協(xié)議。擁有異步Mysql、異步Redis、異步Http、MQTT物聯(lián)網(wǎng)客戶端、異步消息隊列等眾多高性能組件。

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

1.首先下載官方Workerman框架

2.作為服務器端

在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個進程對外提供服務
$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的用法”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI