0
好了,所以我有我的插座IO接口將信息發送到前端和客戶端也能夠應對,從而節省了返回的數據。快線和插座io的
然而,在server.js
文件中啓動套接字io時,它的唯一用途發生在'/user/home'
路由中並沒有任何意義。
所以我的問題是我如何使用套接字IO在一個途徑,如果HTTP服務器在server.js
啓動,而無需調用http服務器的新實例?
好了,所以我有我的插座IO接口將信息發送到前端和客戶端也能夠應對,從而節省了返回的數據。快線和插座io的
然而,在server.js
文件中啓動套接字io時,它的唯一用途發生在'/user/home'
路由中並沒有任何意義。
所以我的問題是我如何使用套接字IO在一個途徑,如果HTTP服務器在server.js
啓動,而無需調用http服務器的新實例?
這是我有它配置:
我有一個處理插座IO東西的io.js庫:
var io = require('socket.io')();
var redis = require("redis");
var client = redis.createClient();
io.path('/socket');
client.on('connect', function() {
console.log("Redis successfully connected");
});
io.on('connection', function (socket) {
console.log('a user connected: '+ socket.handshake.query.uid_bsp);
console.log('socket id: '+socket.id);
//clients.uid_bsp=socket.id;
//console.log('a user added: ');
client.set(socket.handshake.query.uid_bsp,socket.id);
});
io.notifyTransfer = function (uid_bsp,data){
client.get(uid_bsp,function(err,socketid){
console.log('notifying: '+socketid);
io.to(socketid).emit('update', data);
});
};
module.exports = io;
而且在我已經要求該庫server.js,並連接到服務器:
var httpserver = http.createServer(app);
var io = require('./src/utils/io.js');
...
var server = httpserver.listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
io.attach(server);
在我的路線(這是像休息,前,....單獨的js文件)
所以,我可以使用notifyTransfer方法只需要IO庫。
希望這會有幫助