Socket.io - 获取客户端的IP始终导致未定义

时间:2015-07-25 23:37:46

标签: node.js sockets

对于我的简单socket.io聊天,我正在尝试阻止多客户端。所以我想,为什么不只是获取客户端的IP而不是多次允许它。但是,我一直在寻找如何做到这一点的几个小时。我找到了人们提出的多种解决方案,似乎没有人能为我工作。我尝试过像......

socket.client.request.headers['x-forwarded-for']

socket.handshake.address.address

socket.handshake.headers('x-forwarded-for')

socket.handshake.headers['x-real-ip']

等等,但他们所有返回undefined。也许这是socket.io的版本?这是package.json

中所需要的

"express": "^4.10.2", "socket.io": "^1.3.5"

然而,以下内容显示::1

socket.request.connection.remoteAddress

我的代码可能某些错误 - https://github.com/Crypting/chat

其他一切正常 - 发送,接收等

1 个答案:

答案 0 :(得分:0)

由于我的评论对你有用,我会把它放在答案中。

socket.request.connection.remoteAddress是获取远程IP地址的受支持方式。

如果您要连接到localHost,它可能会显示::1这是127.0.0.1的IPv6快捷方式。