Node.js如何获取在特定端口上侦听的http服务器的IP地址

Soh*_*aib 10 node.js

我有一个非常基本的HTTP服务器代码,它正在侦听端口8000.如何确定服务器的IP地址,是否可以从'server'变量中检索?我正在开发一个应用程序,我需要自动将服务器信息(ip,端口等..)发送到redis商店.

我是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();
});
Run Code Online (Sandbox Code Playgroud)

 

server.listen(8000);
console.log("Server is listening....");
Run Code Online (Sandbox Code Playgroud)

f1l*_*t3r 16

使用以下内容:

server.address()
Run Code Online (Sandbox Code Playgroud)

哪个记录如下:

{ address: '0.0.0.0', family: 'IPv4', port: 8080 }
Run Code Online (Sandbox Code Playgroud)

要将服务器的IP记录到控制台,请使用:

console.log( server.address().address );
Run Code Online (Sandbox Code Playgroud)

  • 这是正确答案,因为`address`是一种方法,而不是属性 (2认同)

Tom*_*ant 3

假设您想要服务器绑定的地址,您可以使用server.address.address来获取服务器绑定的 IP 地址。同样,您可以用来server.address.port获取服务器绑定的端口号。

来自: http: //nodejs.org/api/net.html#net_server_address

  • 有什么办法可以获取公网ip吗? (5认同)