2013-08-03 11 views
5
var http = require('http'); 
http.createServer(function (req, res) { 
res.writeHead(200, {'Content-Type': 'text/plain'}); 
res.end('Hello World\n'); 
}).listen(80, '127.0.0.1'); 
console.log('Server running at http://127.0.0.1:1337/'); 

Quindi, se voglio ascoltare 192.168.1.100, proprio così?come utilizzare nodejs ascolta più IPS?

var http = require('http'); 
http.createServer(function (req, res) { 
res.writeHead(200, {'Content-Type': 'text/plain'}); 
res.end('Hello World\n'); 
}).listen(80, '127.0.0.1').listen(80,'192.168.1.100'); 

risposta

4

Prova questo

var http = require('http'); 
function handler(req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}; 
http.createServer(handler).listen(80, '127.0.0.1'); 
http.createServer(handler).listen(80, '192.168.1.100'); 
// or listen to both instead - thx @FlashThunder 
// http.createServer(handler).listen(80); 
5

Come http crea presa, non è possibile assegnare elenco di IP a una presa, è per questo che è necessario creare gli oggetti HTTP separata per ogni ip, o utilizzare 0.0.0.0 (o semplicemente dont definire secondo parametro) per ascoltare su tutti gli IP disponibili.