2015-01-24 6 views
0

내 프로젝트의 경우 다른 NodeJS Server의 원격 IP 주소를 가져와야합니다. 사실 벨기에와 같이 많은 국가에서 통신 회사가 제공하는 컴퓨터의 IP 주소는 고정 IP가 아니며 xx 시간마다 바뀔 수 있습니다.NodeJS - 원격 IP 주소를 얻는 방법

원격 NodeJs 컴퓨터의 인터넷 IP 주소를 실시간으로 가져 오는 방법을 알아야 할 필요가 있습니다.

예 : 인터넷 공급자가 nodeJS 컴퓨터의 IP를 변경합니다. "상대"실시간으로 새 IP를 알고 싶습니다. 많은에

덕분에, visualight

+0

실제로 nodeJS 서버는 많은 회사의 개인 IP 주소에서 호스팅됩니다. 내 백엔드에 대한 나는 그것이 변경되면 현재의 IP 주소를 알아야합니다. 감사합니다. – visualight

+0

(NodeJS) 클라이언트에서 원격 NodeJS 서버 (현재 IP별로)에 액세스하고 싶습니다. 그리고 IP 변경 이후 XX 시간마다 새 IP를 결정해야합니까? 호스트 네임을 통해 연결하고 선택한 [DynDNS 서비스] (http://en.wikipedia.org/wiki/Dyn_%28company%29)를 사용하는 것이 좋습니다. –

+0

nodejs로 내 자신의 dyndns 서비스를 만들 수 있습니까? – visualight

답변

0

당신이 연락하려는 제거 서버가 IP 주소를 전환하고 (에서와 같이 어떤 식 으로든 접촉 서버)를 알려하지 않는 경우, 당신은 운이 기본적으로 있습니다 .

var dns = require('dns'); 

dns.resolve4('www.google.com', function (err, addresses) { 
    if (err) throw err; 

    console.log('addresses: ' + JSON.stringify(addresses)); 

    addresses.forEach(function (a) { 
    dns.reverse(a, function (err, domains) { 
     if (err) { 
     throw err; 
     } 

     console.log('reverse for ' + a + ': ' + JSON.stringify(domains)); 
    }); 
    }); 
}); 

UPDATE : 다른 컴퓨터를 가리키는 도메인이있는 경우

, 당신은 DNS의 결의를 강제로 (내가 뻔뻔 official docs에서 복사)이 조각을 사용할 수module on npm이 있음 컴퓨터의 공용 IP 주소를 얻을 수 있습니다. 매우 간단합니다. curlmyip.com에 대한 요청을 수행하고 결과를 반환합니다. setInterval을 사용하여 폴링 간격을 설정하고 변경 사항을 감지 할 때마다 다른 노드로 보낼 수 있습니다.

+0

예. 나는 운이 없지만 당신이 거래를 이해하지 못한다고 생각합니다. 사실 : 저는 고정 IP 주소를 가진 서버에 nodejs가 설치되어 있습니다. 내 고객은 프런트 엔드가 내 서버에 연결된 nodejs 서버 설치 프로그램을 가지고 있습니다. 그래서, IP 변경, 어떻게 내가 서버 lke : $ (ip) .on ('변경'), 함수() ... 새 IP 주소를 보낼 수 있습니까? – visualight

+0

@visualight 답변을 업데이트했습니다. – Dave

관련 문제