Подтвердить что ты не робот

Node.js Как получить IP-адрес HTTP-сервера, прослушивающего определенный порт

У меня есть следующий очень простой код HTTP-сервера, который прослушивает порт 8000. Как определить IP-адрес сервера, можно ли его получить из переменной "server"? Я работаю над приложением, где мне нужно автоматически отправлять сервер Info (ip, port и т.д.) В redis store.

Я новичок в node.js, спасибо за помощь

var http = require("http");
var server = http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/html"});
  response.write("Hello!!!");
  response.end();
});

server.listen(8000);
console.log("Server is listening....");
4b9b3361

Ответ 1

Используйте следующее:

server.address()

Что записывает что-то вроде:

{ address: '0.0.0.0', family: 'IPv4', port: 8080 }

Чтобы зарегистрировать IP-адрес вашего сервера на консоли, используйте:

console.log( server.address().address );

Ответ 2

Предполагая, что вам нужен адрес, к которому привязан ваш сервер, вы можете использовать server.address.address для получения IP-адреса, к которому привязан сервер. Аналогично, вы можете использовать server.address.port, чтобы получить номер порта, на который привязан сервер.

От: http://nodejs.org/api/net.html#net_server_address.

Ответ 3

req.connection.remoteAddress
req.connection.remotePort
req.connection.localAddress
req.connection.localPort