I thing you are locking unique ID for each person.
Client code.
//When user connect to socket server to emit some info event like this
socket.emit('userInfo','clintUniqueID');//like mailid ID,username,anything but its unique
//When user open other tabs
socket.on('multipleTabs',function(data){
//Your operation for client side
//example
alert('you are open multiple tabs');});
Server code:
var connection={}; //socket.io connection each user
var usersList=[];//This list only contain unique ID for each connection
socket.on('userInfo',function(data){//emit by client (user)
connection[socket.id]=socket; // just for connection
var(var i=0;i<usersList.length;i++)
{
if(usersList[i]==data)//Here you store user unique ID like mailID,Username etc
{
//user open multiple tabs
//Any operation server site
//if you want to do any operation in client site
socket.emit('multipleTabs','userAlreadyExit');
}else
{
if(i==usersList.length-1)
{
usersList.push(data);//store socket.id
}
}
});
Now it will work check it