如何使用Sockets.io + Node.js服务器获取客户端IPv4地址(而非IPv6)

我想要获取使用Socket.io版本1.3.5连接我的Node.js服务器的客户端的IPv4 IP地址。

我尝试了大多数在SO中build议的方式,但大部分都是或不赞成,或者他们返回一个IPv6地址。

唯一返回一些价值的是

socket.request.connection.remoteAddress 

但它是IPv6格式。

任何获得IPv4地址的方法?

如果客户端使用IPv6连接,则无法获得IPv4地址。 如果您想拥有IPv4地址,则需要closures服务器上的IPv6支持。

比我用这个来获取IP地址var ip = socket.client.request.headers['x-forwarded-for'] || socket.client.conn.remoteAddress || socket.conn.remoteAddress || socket.request.connection.remoteAddress; var ip = socket.client.request.headers['x-forwarded-for'] || socket.client.conn.remoteAddress || socket.conn.remoteAddress || socket.request.connection.remoteAddress;