2012-05-24 7 views
7

Quando si omette 127.0.0.1, app.address() non è nullo, ma quando un host è impostato, è nullo.Come mai app.address() è nullo quando HOST è impostato in app.listen (PORT, HOST);

var express = require('express'), 
    app = express.createServer(); 

app.use(express.logger()); 

app.get('/', function(req, res){ 
    res.send('Hello World'); 
}); 

app.listen(3000, '127.0.0.1'); 
console.log(app.address()); 
console.log('Express server started on port %s', app.address().port); 

uscita Errore: TypeError: Cannot read property 'port' of null

Nodo v0.6.5

ho installato Express versione 2.5.9 - il suo ritorno che ho installato 2.5.8 - non so cosa che è circa.

risposta

4

Perché, app.address() è ereditato dal modulo HTTP del nodo. Se si guarda alla documentation ci scrive:

restituisce l'indirizzo legato e la porta del server come riportato dal sistema operativo .

Pertanto, presumo che quando si richiede una porta con un IP, il sistema operativo non lo riporti a voi, quindi questo metodo restituisce null. Tuttavia, quando non lo fai, potresti aver bisogno dell'IP o dell'indirizzo del tuo computer, dato che ogni computer non deve essere "localhost", possono avere domini diversi che ti permettono di associare solo socket a quel dominio.

Problemi correlati