2015-09-05 26 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。