自定义路线SailsJS和Socket

时间:2014-07-25 01:58:33

标签: sockets websocket sails.js

O想在SailsJS上使用带套接字的自定义方法。

new: function(req, res){

    Talk.create({message: "text"}).exec(function created(err,created){
        Talk.publishCreate(created);
        res.send(created);
    });
}

在客户端,我完全按照此处的描述进行操作:http://beta.sailsjs.org/#/documentation/reference/websockets/resourceful-pubsub/publishCreate.html

publishCreate不向客户端发送更新。有什么我想念的吗?

1 个答案:

答案 0 :(得分:1)

问题很可能是您没有使用.watch()方法订阅create消息,如您链接到的文档中所述:

  

publishCreate的默认实现仅发布消息   firehose,以及使用the订阅模型类的套接字   观看方法

在最新版本的Sails中,sails.config.blueprints.autoWatch属性默认为true,这意味着套接字将自动开始监听"创建"消息,只要它发现"发现"呼叫,如io.sockets.get('/talk')。否则,您需要使用Talk.watch(req);在控制器中手动订阅套接字。