Redis中如何将订阅消息发到WebSocket客户端
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,PHP 的redis扩展是阻塞式 IO ,使用订阅/发布模式时,会导致整个进程进入阻塞。因此必须使用Swoole\Redis异步客户端来实现。实例代码$server = new swoole_webs
千家信息网最后更新 2026年11月03日Redis中如何将订阅消息发到WebSocket客户端
PHP 的redis扩展是阻塞式 IO ,使用订阅/发布模式时,会导致整个进程进入阻塞。因此必须使用Swoole\Redis异步客户端来实现。
实例代码
$server = new swoole_websocket_server("0.0.0.0", 9501);$server->on('workerStart', function ($server, $workerId) { $client = new swoole_redis; $client->on('message', function (swoole_redis $client, $result) use ($server) { if ($result[0] == 'message') { foreach($server->connections as $fd) { $server->push($fd, $result[1]); } } }); $client->connect('127.0.0.1', 6379, function (swoole_redis $client, $result) { $client->subscribe('msg_0'); });});$server->on('open', function ($server, $request) {});$server->on('message', function (swoole_websocket_server $server, $frame) { $server->push($frame->fd, "hello");});$server->on('close', function ($serv, $fd) {});$server->start();实现过程
在进程启动(onWorkerStart)时创建了Swoole\Redis客户端,连接到Redis服务器
连接成功后,订阅msg_0主题的消息
当有新的message时,Swoole\Redis会触发onMessage事件回调
在这个回调函数中使用$server->connections遍历服务器所有的连接,发送消息
以上就是实现从Redis中订阅消息转发到 WebSocket 客户端的详细内容,更多请关注其它相关文章!
客户
消息
订阅
客户端
服务器
进程
服务
阻塞
成功
主题
事件
代码
内容
函数
实例
就是
文章
更多
模式
端的
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技官网
互联网科技与金融科技
互联网 卓越科技
互联网科技媒体
鑫亿盛互联网科技
北京互联网络科技有限公司
互联网前沿科技
成都仁贤领冠互联网科技有限公司
云创客互联网科技公司
互联网大会黑科技排名
受益于互联网科技的高速发展
晓花互联网科技有限公司网址
浙南科技城互联网大厦建设工程
明优互联网科技有限公司
互联网时代的科技公司
智帮互联网科技公司最近动向
宁波跨境商互联网科技有限公司
科技信息时代互联网发展
科技和互联网行业的特点
如何强化互联网金融科技
互联网和科技创新
互联网与未来科技
互联网科技logo
宁波青枫互联网科技有限公司
中国的互联网科技企业的崛起
花神(南京)互联网科技有限公司
成都互联网科技公司工作好不好
互联网与数字科技关系
保山互联网科技靠谱吗
杭州科技互联网公司有哪些