當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Node.js dns.lookupService()用法及代碼示例


dns.lookupService()方法是dns模塊的內置應用程序編程接口,用於使用操作係統的基礎getnameinfo實現將地址和端口號解析為主機名。

用法:

dns.lookupService( address, port, callback )

參數:此方法具有上述和以下所述的三個參數:


  • address:它指定一個字符串,該字符串表示要解析的地址。
  • port:此數字指定要解析其服務的地址的端口號。
  • callback:它指定在解析地址和端口後要調用的函數。
    • error:如果生成,則指定錯誤。
    • hostname:主機名的字符串表示形式。例如geeksforgeeks.org
    • service:這是一個字符串,指定服務的名稱。例如http

返回值:此方法通過回調函數返回錯誤,主機名和服務。這些數據作為參數傳遞給回調函數。

以下示例說明了Node.js中dns.lookupService()方法的使用:

範例1:本地主機的IP

// Accessing dns module 
const dns = require('dns'); 
  
// Calling dns.lookupService() method for 
// 127.0.0.1 port  number 22 
dns.lookupService('127.0.0.1', 22, 
         (err, hostname, service) => { 
          
    // Printing hostname and service as callback 
    console.log(hostname, service); 
});

輸出:我的電腦名稱是my-lappy

my-lappy ssh

範例2:

// Accessing dns module 
const dns = require('dns'); 
   
// Setting options for dns.lookup() method 
const options = { 
       
    // Setting family as 4 i.e. IPv4 
    family:4, 
    hints:dns.ADDRCONFIG | dns.V4MAPPED, 
}; 
   
dns.lookup('www.geeksforgeeks.org',  
        options, (err, address, family) => { 
       
    console.log('address:', address); 
        if(err){ 
            console.log(err.stack); 
        } else{ 
   
        // Calling dns.lookupService() method  
        dns.lookupService(address, 80, 
                 (err, hostname, service) => { 
            if(err){ 
                console.log(err.stack); 
            } 
               
            // Printing hostname and service 
            // as callback 
            console.log(hostname, service); 
        }); 
    } 
});

輸出:

address:42.106.162.241
42-106-162-241.live.vodafone.in http

注意:上麵的程序將通過使用node filename.js命令。

參考: https://nodejs.org/api/dns.html#dns_dns_lookupservice_address_port_callback



相關用法


注:本文由純淨天空篩選整理自gekcho大神的英文原創作品 Node.js | dns.lookupService() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。