Windows下安裝使用workman簡單實例


轉自:https://blog.csdn.net/Srodong/article/details/88351335

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

 

 

下載好workerman,后在workerman文件下創建一個新的文件start.php

 

 代碼如下:

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

然后cmd運行start.php

 

 簡單測打開瀏覽器,按F12打開調試控制台,在Console一欄輸入(或者把下面代碼放入到html頁面用js運行

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

 

 

______________________


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM