我正在main.js文件中创建socket.io变量“io”。如下所示。
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 :(得分:0)
我找到了解决方案。我把var io作为全局变量。 如下。
global.io = require('socket.io')。listen(server);
现在我可以从其他服务访问io。