參照官方文檔,實現消息推送功能。
由於官方文檔寫得比較片段,例子不完整,整體理解起來有點複雜,其實弄懂原理後,真的非常簡單。
首先要明白的是實現消息推送分前端和後臺,前端訂閱,後臺廣播,就這樣簡單。
後臺代碼:
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