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

时间:2015-06-17 10:52:02

标签: node.js socket.io

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

我尝试了SO中建议的大多数方法,但大多数方法已经弃用或者已弃用,或者它们返回了IPv6地址。

唯一返回一些价值的是

socket.request.connection.remoteAddress

但它是IPv6格式。

以任何方式获取IPv4地址?

1 个答案:

答案 0 :(得分:3)

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

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