0
嗨,我一直在问,使听一些端口服务器阵列的阵列,这里的问题是,当我使用:节点JS,模块网,服务器
“serviceSocket.connect(parseInt函数(80 ), “elpais.es”,
我真正需要的是使用ADRESS和remotePorts阵列 这样的:
“serviceSocket.connect(远程端口[I],ADRESS [1])
但我无法将该信息传递给serviceSocket。 此外,当我尝试获取已被server.address()触发的端口(例如,我通过8002连接)时,我一直得到的回报是8008.
我怎样才能得到正确的端口,还是传递信息?
var ports = [8001,8002,8003,8004,8005,8006,8007,8008];
var adress = ["www.cnc.uji.es","en.wikipedia.org","random.random2.es","ftp.rediris.es", "elpais.es" ,"","",""]
var remotePort = [80,80,443,21,80,"","",""]
for (i=0 ;i<ports.length; i++){
var server = net.createServer(function(socket){
socket.on('data', function(data){
console.log(server.address());
var serviceSocket = new net.Socket();
serviceSocket.connect(parseInt(80),"elpais.es", function(){
serviceSocket.write(data);});
serviceSocket.on('data',function(data){console.log(server.address());
socket.write(data);});
});
}).listen(ports[i]);
}
console.log('TCP server accepting connection on port ' + ports)
可能重复[JavaScript闭包与匿名函数](http://stackoverflow.com/questions/12930272/javascript-closures-vs-anonymous-functions) – Louis