在NodeJS Server中将动态IP分配到域中

时间:2017-03-24 14:16:42

标签: javascript node.js

我有一个nodejs服务器,我使用以下代码获取服务器IP地址。

    //To fetch IPv4 address of server
  var getIpAddress = function()
  {
      var ifaces = os.networkInterfaces();
        var ips = 0;

        for(var dev in ifaces)
        {
            ifaces[dev].forEach(function(details){
                //console.log(details);
               if(details.family == 'IPv4' && details.internal == false)
               {
                   //ips[dev+(alias?':'+alias:'')] = details.address;
                   ips = details.address;
               }
            });
        }
      return ips;
  };

我有一个客户端代码如下:

function loadDatabaseData()
{
    var oReq = new XMLHttpRequest();
    oReq.open("GET", "http://192.168.80.143:2800/load", true);
    oReq.onreadystatechange = function() {//Call a function when the state changes.
        if(oReq.readyState == 4 && oReq.status == 200) {
            links = JSON.parse(oReq.response).links;
            nodes = JSON.parse(oReq.response).nodes;
            update();
        }
    }
    oReq.send();
}

当我在Nodejs Server中获取IP值时,我想将其分配到域中。因此,我可以在上述代码中使用此域名,例如“http://foo.bar.hello/load”而不是“http://192.168.80.143:2800/load”。我怎么能这样做?

提前致谢,

1 个答案:

答案 0 :(得分:1)

看到您的IP地址以192.168开头我假设服务器和客户端正在通过局域网进行通信(不通过互联网)。

网络上的域服务器允许您为服务器的IP地址分配文本名称。通常,服务器的计算机名称已注册为域,地址“http://192.168.80.143:2800/load”应已映射为“http://:2800 / load”。根据服务器的操作系统,有许多方法可以找到计算机名称。在Windows计算机上,当您右键单击“我的电脑”并选择“属性”(Windows XP-7)或“系统” - >时,可以看到它。关于(Windows 8 - 10)。

您可能可以设置域服务器以在您的服务器上运行。您的路由器也可能具有域服务器的实现。

P.S。这比网络管理问题更多,而不是Node.js编程问题。