注:安裝workerman 之前要選裝composer
1、第一步訪問官方網址下載workerman,網址如下:https://www.workerman.net/
2、下載解壓後,我將文件夾名更改爲“workerman”,打開目錄,新建“start.php”文件,頁面如下
3、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();
4、將workerman 文件放在任意盤中,我這裏放在D盤根目錄,頁面如下:
5、輸入cmd打開命令面板,打開start.php 文件,操作命令及頁面如下:
1、D:
2、cd workerman
3、php start.php start
6、瀏覽器測試是否成功:找開谷歌或搜狗瀏覽器(任意瀏覽器),按F12鍵,打開console輸入以下內容並按回車鍵,若有彈框則證明成功。
ws = new WebSocket("ws://127.0.0.1:2000");
ws.onopen = function() {
alert("連接成功");
ws.send('tom');
alert("給服務端發送一個字符串:tom");
};
ws.onmessage = function(e) {
alert("收到服務端的消息:" + e.data);
};