参照官方文档,实现消息推送功能。
由于官方文档写得比较片段,例子不完整,整体理解起来有点复杂,其实弄懂原理后,真的非常简单。
首先要明白的是实现消息推送分前端和后台,前端订阅,后台广播,就这样简单。
后台代码:
if (!req.isSocket) {return res.badRequest();}
var msg = "这是测试消息^_^"+Math.random();
sails.sockets.join(req, 'funSockets');
sails.sockets.broadcast('funSockets', 'message', {msg: msg}, req);
return res.ok({ msg: msg });
前端代码:
//订阅消息
io.socket.on('message', function(data){
showTip(data.msg);
});
//广播消息
io.socket.get('/message', function gotResponse(body, response) {
// console.log(response.statusCode, body);
showTip(body.msg);
})
这样就能实现简单的消息推送啦
例子链接: http://pan.baidu.com/s/1gf5adOZ 密码: 48at