这几天搞清楚风帆插座的工作,但我没有运气让它在我的风帆项目上工作。找不到风帆插座工作
所以我有一个叫做Events的模型。
在客户端的JavaScript
var socket = io.socket;
socket.on('connect',function socketConnected(){
console.log("connected");
socket.get('/events/getData',function getEvents(events){
addEvents(events);
});
socket.on('events',function eventFound(eventData){
console.log('something happend');
addEvents(eventData);
});
});
而且对服务器端事件的控制器。
'create': function(req,res){
var eventsData = u.getParams(req);
Events.create(eventsData,function created(err,createdEvent){
Events.publishCreate(createdEvent);
console.log("created");
return res.send(200);
});
},
'getData': function(req, res) {
Events.find().exec(function foundEvent(err, event) {
if (err) return next(err);
Events.subscribe(req.socket, event);
res.send(event);
});
因此,我预计,当我张贴的事件对象http://localhost:1337/events/create的
"socket.on('events',function eventFound(eventData){"
应该已经触发了吧?我只是不能让它触发:(有什么我做错了这个呢?因为我敢肯定,我有点误解了此套接字的概念。
是的我用.watch()仍然尝试过,但最终在创建控制器上我添加了sails.sockets.blast(createdEvent);而且这个工作正如我所需要的那样:D谢谢你的回应和解释 – campin