Из чтения исходного кода socket.io похоже, что метод «listen» принимает аргументы (server, options, fn), и если «server» является экземпляром сервера HTTP / S, он просто обернет его для вас.
Таким образом, вы, вероятно, могли бы предоставить ему пустой сервер, который прослушивает событие 'connection' и обрабатывает сокет remoteAddress;однако, это может быть очень сложно, если вам нужно связать этот адрес с реальным объектом Socket socket.io.
var http = require('http')
, io = require('socket.io');
io.listen(new http.Server().on('connection', function(sock) {
console.log('Client connected from: ' + sock.remoteAddress);
}).listen(80));
Может быть проще отправить исправление в socket.io, в котором расширен собственный объект Socketсо свойством remoteAddress, назначенным во время соединения ...