RabbitMQ和Sails.js

 失憶壹瞬間_533 发布于 2022-12-28 20:05

我在使用带有Sails应用程序的RabbitMQ时遇到了麻烦.我不确定订户代码的放置位置.我正在尝试建立一个通知系统,以便当管理员批准用户的数据请求时,用户的仪表板将弹出类似于Facebook弹出通知的通知.问题是,将用户代码放在仪表板控制器的显示路径中似乎永远不会抓取已发布的消息.

任何建议将不胜感激.目前使用rabbit.js包连接到RabbitMQ.

1 个回答
  • 要回答原始问题,如果由于某种原因想要使用Rabbit MQ而不是Sails的内置资源丰富的pubsub,最好的方法是使用rabbit.js.

    首先,npm install rabbit.js.

    然后,在你的Sails项目的config/sockets.js中(从rabbit.js socket.io示例中大量借用):

    var context = require('rabbit.js').createContext();
    module.exports = {
    
         onConnect: function(session, socket) {
            var pub = context.socket('PUB');
            var sub = context.socket('SUB');
    
            socket.on('disconnect', function() {
              pub.close();
              sub.close();
            });
    
            // NB we have to adapt between the APIs
            sub.setEncoding('utf8');
            socket.on('message', function(msg) {
              pub.write(msg, 'utf8');
            });
            sub.on('data', function(msg) {
              socket.send(msg);
            });
            sub.connect('chat');
            pub.connect('chat');
    
        }
    
    }
    

    2022-12-28 20:10 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有