对于我的简单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
其他一切正常 - 发送,接收等
答案 0 :(得分:0)
由于我的评论对你有用,我会把它放在答案中。
socket.request.connection.remoteAddress
是获取远程IP地址的受支持方式。
如果您要连接到localHost,它可能会显示::1
这是127.0.0.1的IPv6快捷方式。