码迷,mamicode.com
首页 > 其他好文 > 详细

socket.io获取客户端的IP地址(修正官方1.0.4版本BUG)

时间:2014-06-14 08:48:28      阅读:412      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   color   strong   

之前我有看过别人写的文章,说到如何获取客户端IP地址,代码如下:

var io = require("socket.io").listen(server);
io.sockets.on("connection", function (socket) { 
       var address = socket.handshake.address; 
        console.log("New connection from " + address.address + ":" + address.port);
});

这是在0.9.x版本是可以正确获取到客户端IP地址的。

但是当你使用1.0.4版本的时候发现获取到的IP地址是本地服务器绑定的IP.

查过官方的API文档但是没有介绍关于IP地址如何获取的。所以只好自己修改源码了。

===================================================
现在修改socket.io的模块源码以获取真实IP地址,并保留原有代码的兼容性。

 打开/node_modules/socket.io/lib/socket.js文件

 在110行找到代码

address: this.request.connection.address(),

修改为

address: {‘address‘:this.request.connection.remoteAddress,‘port‘:this.request.connection.remotePort},

只要改一个文件,然后重启node,就可以用了。

socket.io获取客户端的IP地址(修正官方1.0.4版本BUG),布布扣,bubuko.com

socket.io获取客户端的IP地址(修正官方1.0.4版本BUG)

标签:style   class   blog   code   color   strong   

原文地址:http://www.cnblogs.com/firadio/p/3787838.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!