我有实时dashbord的工作代码显示我网络上的当前在线访问者。我希望在多个网站上使用实现的可能性。
WEB A - client.js
var socket = io("ip:port", {reconnection: false});
socket.on('connect', function() {
socket.emit('join', 'room1');
});
var visitorData = {
referringSite: document.referrer,
page: location.pathname,
room: 'room1'
}
socket.emit('visitor-data', visitorData);
WEB B - client.js
与 WEB A 相同,但有
socket.emit('join', 'room2');
服务器脚本app.js
io.sockets.on('connection', function(socket){
socket.on('join', function(room) {
socket.join(room);
io.to(room).emit('updated-stats', computeStats());
});
socket.on('visitor-data', function(data) {
visitorsData[socket.id] = data;
io.to(data.room).emit('updated-stats', computeStats());
});
socket.on('disconnect', function(data) {
delete visitorsData[socket.id];
io.in(room).emit('updated-stats', computeStats());
});
});
管理员面板WEB A(此处为信息中心)
var socket = io("server:port");
socket.on('connect', function() {
socket.emit('join', 'room1'); //there i need data only from room1
});
socket.on('updated-stats', function(data) {
console.log(data.pages);
$(".online").html(data.activeUsers);
});
我的问题是 - 在 WEB A 的管理面板中,我从WEB A和WEB B 一起获取统计信息。我需要为WEB A和WEB B分离数据。是否可以在加入相同的IP和相同的端口时执行此操作?我不想为个别网站分开创建节点实例。