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

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

Node.js tlsSocket.address() 方法

简介

tlsSocket.address() 方法返回一个对象 { port, family, address },其中包含以下信息:

  • port: 服务器接受连接的端口号
  • family: IP地址族。可能为IPv4或IPv6。
  • address: 监听的地址。默认为0.0.0.0。
语法
tlsSocket.address();
示例
const tls = require('tls');

const server = tls.createServer({ /* options */ }, (socket) => {
  const { port, family, address } = socket.address();
  console.log(`Server listening on ${address}:${port} (${family})`);
});

server.listen(9999, () => {
  console.log('Server started');
});
解析
  • 本示例中使用 tls.createServer() 方法创建一个 TLS/SSL 服务器实例对象 server
  • server 对象的 listen() 方法用于监听客户端请求。在客户端与服务器建立安全连接后,server 对象会调用回调函数来响应客户端请求。
  • 回调函数中通过 socket.address() 方法获取监听对象的地址、端口号和IP地址族,并将结果分别赋值给 { port, family, address }
  • 最后,输出监听地址、端口号和IP地址族信息。
注意事项
  • address 属性表示服务器监听的地址,如果启用了 IPv6,监听地址将为 ::
  • 如果 server.listen() 方法的第二个参数 callback 包含一个错误对象,则将切换回 0.0.0.0 地址。
  • 如果使用负载平衡等技术,address() 方法将返回TCP连接的本地地址,而非服务器的监听地址。