溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

下載workerman的方法

發(fā)布時(shí)間:2020-12-17 14:07:44 來源:億速云 閱讀:260 作者:小新 欄目:編程語言

小編給大家分享一下下載workerman的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

首先下載workerman  https://www.workerman.net/download

下載workerman的方法

下載好后在workerman文件下創(chuàng)建一個(gè)新的文件start.php

下載workerman的方法

代碼如下

<?php
use Workerman\Worker;
 
//Autoloader.php路徑
require_once "./Autoloader.php";
 
$global_uid = 0;
 
// 當(dāng)客戶端連上來時(shí)分配uid,并保存連接,并通知所有客戶端
function handle_connection($connection)
{
    global $text_worker, $global_uid;
    // 為這個(gè)連接分配一個(gè)uid
    $connection->uid = ++$global_uid;
}
 
// 當(dāng)客戶端發(fā)送消息過來時(shí),轉(zhuǎn)發(fā)給所有人
function handle_message($connection, $data)
{
    global $text_worker;
    foreach($text_worker->connections as $conn)
    {
        $conn->send("user[{$connection->uid}] said: $data");
    }
}
 
// 當(dāng)客戶端斷開時(shí),廣播給所有客戶端
function handle_close($connection)
{
    global $text_worker;
    foreach($text_worker->connections as $conn)
    {
        $conn->send("user[{$connection->uid}] logout");
    }
}
 
// 創(chuàng)建一個(gè)文本協(xié)議的Worker監(jiān)聽2000接口  用0.0.0.0方便鏈接內(nèi)網(wǎng)外網(wǎng)
$text_worker = new Worker("websocket://0.0.0.0:2000");  
 
// 只啟動(dòng)1個(gè)進(jìn)程,這樣方便客戶端之間傳輸數(shù)據(jù)
$text_worker->count = 1;
 
$text_worker->onConnect = 'handle_connection';
$text_worker->onMessage = 'handle_message';
$text_worker->onClose = 'handle_close';
 
Worker::runAll();

然后命令行運(yùn)行   php start.php start

下載workerman的方法簡(jiǎn)單測(cè)打開瀏覽器,按F12打開調(diào)試控制臺(tái),在Console一欄輸入(或者把下面代碼放入到html頁(yè)面用js運(yùn)行

// 假設(shè)服務(wù)端ip為127.0.0.1
ws = new WebSocket("ws://127.0.0.1:2000");
ws.onopen = function() {
    alert("連接成功");
    ws.send('我是誰?');
    alert("給服務(wù)端發(fā)送一個(gè)字符串:我是誰?");
};
ws.onmessage = function(e) {
    alert("收到服務(wù)端的消息:" + e.data);
};

下載workerman的方法

看完了這篇文章,相信你對(duì)下載workerman的方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

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

AI