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

这两天开发中要用到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方法把数据推给用户

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!