在Node.js中为客户端连接指定传出的IP地址
使用Node.js时,是否可以使用某种方法指定客户端连接的传出IP地址?
目前看来唯一的解决scheme是使用_createServerHandle
函数
var s = new net.Socket({ handle: net._createServerHandle(localAddress) }); s.connect(port, host, cb);
在邮件列表上看到这个线程 。
它自2013.01.11版本起可用, 版本0.9.6(不稳定)版本,带有localAddress
选项。
var options = { hostname: 'www.google.fr', localAddress: '192.168.0.2', }; var req = http.get(options, function(res) { console.log('STATUS: ' + res.statusCode); console.log('HEADERS: ' + JSON.stringify(res.headers)); }).on('error', function(e) { console.log("Got error: " + e.message); });