我一直在使用restify.js实现REST API。 它被部署在Heroku上。 现在,我想添加服务器和用户(移动应用)之间的实时通信。 我的想法是发出事件给客户“告诉”他们时,都为他们提供的任何数据(他们可以调用正常REST API来获取这个数据)。 我用我的应用程序的Redis的Pub / Sub广播事件。
所以,我很simpliefied代码如下所示:
var redisClient = require('./redis-client');
var app = restify.createServer();
app.get('/give-me-data',function(req,res,next){
res.json('{ data: 'abcdef' });
});
redisClient.on('message',function(channel,message){
if(message=='data-available') {
// now I want to emit event to mobile clients through socket.io
}
});
redisClient.subscribe('data-available-channel');
app.listen(process.env.PORT);
我如何添加socket.io
这样的应用,让客户端(移动应用)连接到它和侦听事件?