socket.io уже давно не актуален и не дает ничего кроме оверхеда.
Используйте чистый
https://www.npmjs.com/package/ws
получить число всех активных соединений wss.clients.length
https://www.npmjs.com/package/ws#server-broadcast
Чтобы отсеять дубли нескольких открытых вкладок браузера используйте сессионные куки с рандомным идентификатором ( куки можно извлечь из request в этом примере
https://www.npmjs.com/package/ws#client-authentication ).
Как получите идентификатор присвойте его клиенту ws.awesomeRandomId = <идентификатор>.
awesomeRandomId - произвольное имя, какое вам удобно.
Далее в
https://www.npmjs.com/package/ws#server-broadcast у каждого client появится awesomeRandomId, по которому можно отсеять дубли.