2017-03-24 10 views
0

私はnodejsサーバを持っており、次のコードでサーバIPアドレスを取得します。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; 
    }; 

そして、私は以下のようにクライアントコードを持っている:私はNodejs ServerのIP値を取ったとき

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(); 
} 

、私がドメインにこれ​​を割り当てます。だから私は上記のコードで 'http://192.168.80.143:2800/load'の代わりに 'http://foo.bar.hello/load'のようなこのドメインを使うことができます。どうやってやるの?事前に

おかげで、あなたのIPアドレスは、私は、サーバーを想定していますし、クライアントは、ローカルエリアネットワーク(インターネットを経由せず)を介して通信している192.168で始まることを見て

+0

http://192.168.80.143.xip.io/ – robertklep

答えて

1

ネットワーク上のドメインサーバーは、サーバーのIPアドレスにテキスト名を割り当てることができます。通常、サーバーのコンピュータ名はドメインとして登録されており、アドレス 'http://192.168.80.143:2800/load'は既に 'http://:2800/load'にマップされています。サーバのOSによっては、コンピュータ名を見つける方法がたくさんあります。 Windowsマシンでは、[マイコンピュータ]を右クリックして[プロパティ](Windows xp-7)または[システム] - [バージョン情報](Windows 8-10)を選択すると表示されます。

ドメインサーバーをサーバーで実行するように設定できます。ルータには、ドメインサーバの実装もあります。

p.s.これは、Node.jsプログラミングの質問よりもネットワーク管理の問題のほうが多いです。

関連する問題