2015-09-05 30 views
0

我在我的main.js文件中創建了socket.io變量「io」。需要訪問從main.js文件到node.js服務文件的變量

var server = https.createServer(secureOptions, svrMain); 

server.listen(portNumber); 

var io = require('socket.io').listen(server); 
io.sockets.on('connection', function(socket){ 
    socket.on('join', function (data) { 
    socket.join(data.email); 

     console.log("group created" , data.email); 
    }); 
}); 

我需要從下面的其他服務訪問io變量。

//service.js

var inDeliveryInfo = dataObj["DeliveryInfo"]; 
var userEmail = inDeliveryInfo["UserEmail"]; 
var DeviceId = inDeliveryInfo["DeviceId"]; 
var DeliveredTime = inDeliveryInfo["DeliveredTime"]; 

if(userEmail != null) { 
    io.to(userEmail).emit('email_msg', {'msg' : "successfully delivered message to" +" "+ DeviceId + "at" + DeliveredTime}); 
} 

如何從main.js訪問該IO到service.js

+0

在service.js中,您可以獲取套接字模塊。在服務js中使用下面的代碼:var io = require('socket.io') –

+0

不,我想從另一個service.i已經找到下面的solution.commenting答案。 – saravana

回答

0

我發現我犯了VAR IO作爲全局變量的solution.As。 就像下面一樣。

global.io = require('socket.io')。listen(server);

現在我可以從另一個服務訪問io。