php - 请教一个swoole websocket的问题
怪我咯
怪我咯 2017-05-16 13:04:52
0
1
458

这两天开发中要用到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的队列),这样的话消息事件就监听不到了,请问一下这个如何实现

怪我咯
怪我咯

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

Antworte allen(1)
PHPzhong

那你就要存储在线用户的数据啊。。连上了记录下用户标识和客户端在websocket的标识,一一对应,有数据了,你调用push方法把数据推给用户

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!