swoole訊息推送

2022-06-01 02:39:09 字數 1467 閱讀 9973

socket.php

// 注釋的部分是學習的筆記

<?php

//建立websocket伺服器物件,監聽0.0.0.0:9502埠

$ws = new swoole_websocket_server("

0.0.0.0

", 9501

);//

監聽websocket連線開啟事件/**

* 客戶端想伺服器傳送資訊是呼叫函式

* $ws websocket 伺服器

* $request 客戶端資訊

* $request->fd 客戶端唯一編號

* *

*/$ws->on('

open

', function ($ws, $request) \n";

//$ws->push($request->fd, json_encode(['hello','world']));

});//

監聽websocket訊息事件/**

* $frame 客戶端傳送的資訊

* $frame->fd 客戶端的唯一編號

* $frame->data 客戶端傳送的資訊

* */

$ws->on('

message

', function ($ws, $frame) \n";

//$ws->push($frame->fd, "server: ");

//echo "伺服器已接收:【".$frame->fd."】";

//$ws->push($frame->fd, json_encode(['hello','world'.$frame->data]));

//1.客戶端傳送過來的資訊

$content = $frame->data;

echo

"伺服器接收到資訊:

".$content;

//2.講訊息傳送個所有客戶端

foreach ($ws->connections as

$fd)

});//

監聽websocket連線關閉事件

$ws->on('

close

', function ($ws, $fd) is closed\n";

echo ""

;});

$ws->start();

客戶端顯示資料:socket.html

客戶端傳送資料:socket_add.html

執行服務端 

php socket.php

執行客戶端

客戶端顯示資料:192.168.70.168:9501/socket.html (可以開啟多個視窗,檢視資料)

客戶端傳送資料:192.168.70.168:9501/socket_add.html

swoole訊息推送

socket.php 注釋的部分是學習的筆記 建立websocket伺服器物件,監聽0.0.0.0 9502埠 ws new swoole websocket server 0.0.0.0 9501 監聽websocket連線開啟事件 客戶端想伺服器傳送資訊是呼叫函式 ws websocket 伺服...

swoole實現websocket推送

環境配置 swoole 1.9.3 centos6.5 虛擬機器 php7.01 思路 通過server中的collections取出fd 寫乙個 admin.html 管理員推送頁面 與 client.html 客戶端 html頁面的websocket自行可編寫 並在server.php中mess...

swoole 訊息佇列

場景 監控訂單表狀態 佇列通訊 乙個程序向佇列發布訊息 另外兩個程序爭搶 設定主程序名 echo 主程序id posix getpid php eol cli set process title php main 1 此子程序用於監聽資料的改變 process1 new swoole process...