📜  Node.js server.address() 方法(1)

📅  最后修改于: 2023-12-03 15:17:55.619000             🧑  作者: Mango

Node.js server.address() 方法

server.address() 方法是用于获取 Node.js HTTP 服务器绑定的地址和端口号的方法。此方法返回一个包含两个属性的对象:

  • address:服务器绑定的 IPv4 或 IPv6 地址。如果未设置,则为 null
  • port:服务器绑定的端口号。
语法
server.address()
返回值

server.address() 方法返回如下格式的对象:

{ address: '127.0.0.1', family: 'IPv4', port: 3000 }

其中,address 属性表示服务器绑定的 IPv4 或 IPv6 地址。如果未设置,则为 nullport 属性表示服务器绑定的端口号。family 属性表示服务器地址类型,可能的值包括 'IPv4''IPv6''inet''inet6' 等等。

示例

下面是一个简单的 Node.js 服务器示例,可以用于演示 server.address() 方法的使用:

const http = require('http');

const server = http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end(`Server address: ${JSON.stringify(server.address())}`);
});

server.listen(3000, () => {
  console.log(`Server running at ${JSON.stringify(server.address())}`);
});

上述代码中,我们创建了一个简单的 Node.js 服务器,并使用 server.listen() 方法将其绑定到了 3000 端口号上。在请求处理函数内部,我们使用 res.end() 方法向客户端返回了服务器地址信息,包括地址、地址类型和端口号。同时,在服务器启动后,我们也使用 console.log() 方法打印了服务器地址信息。

运行上述服务器,并发送请求:

$ node server.js
Server running at {"address":"127.0.0.1","family":"IPv4","port":3000}

$ curl http://localhost:3000
Server address: {"address":"127.0.0.1","family":"IPv4","port":3000}

可以看到,在服务器启动后,server.address() 方法返回的地址信息包含了地址、地址类型和端口号。在请求处理函数内部,我们将其序列化为字符串并返回给客户端,客户端收到响应后可以看到服务器的地址信息。

总结

server.address() 方法是 Node.js HTTP 模块中用于获取服务器地址和端口号的方法。通过该方法,我们可以方便地获取服务器的地址信息,并将其返回给客户端或打印在控制台上。它返回的对象包含了服务器的地址、地址类型和端口号等信息,可以帮助我们在开发过程中更好地理解和调试服务器的行为。