php - 請教一個swoole websocket的問題
怪我咯
怪我咯 2017-05-16 13:04:52
0
1
481

這兩天開發中要用到swoole的websocket,但是有些沒太搞懂

$serv = new swoole_websocket_server("127.0.0.1", 9502);

$serv->on('Open', function($server, $req) {
    echo "connection open: ".$req->fd;
});

$serv->on('Message', function($server, $frame) {
    echo "message: ".$frame->data;
    $server->push($frame->fd, json_encode(["hello", "world"]));
});

$serv->on('Close', function($server, $fd) {
    echo "connection close: ".$fd;
});

$serv->start();

這是swoole官網的demo,透過監聽訊息事件客戶端發送訊息給服務端的時候,服務端會傳送訊息給客戶端,那如果我想實現這種場景:如果佇列裡面有訊息了,那就給用戶發送一則訊息(這裡的佇列假設為redis的佇列),這樣的話訊息事件就監聽不到了,請問一下這個如何實作

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆(1)
PHPzhong

那你就要儲存線上用戶的資料啊。 。連上了記錄下用戶標識和客戶端在websocket的標識,一一對應,有數據了,你調用push方法把數據推給用戶

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板