2014-06-24 3 views
7

मैं एक HTTP सर्वर जो बंदरगाह 8000. कैसे सर्वर का IP पता निर्धारित करने के लिए पर ध्यान दे रही है की बहुत ही बुनियादी कोड निम्नलिखित यह हो सकता है किया है 'सर्वर' चर से पुनर्प्राप्त? मैं एक ऐसे एप्लिकेशन पर काम कर रहा हूं जहां मुझे सर्वर जानकारी (आईपी, पोर्ट इत्यादि) को स्वचालित रूप से रेडिज़ स्टोर में भेजने की आवश्यकता है।Node.js कैसे एक विशिष्ट पोर्ट पर ध्यान http सर्वर का IP पता प्राप्त करने के लिए

मैं मदद

var http = require("http"); 
var server = http.createServer(function(request, response) { 
  response.writeHead(200, {"Content-Type": "text/html"}); 
  response.write("Hello!!!"); 
  response.end(); 
}); 

server.listen(8000); 
console.log("Server is listening...."); 

उत्तर

2

के लिए धन्यवाद Node.js के लिए नया हूँ, मान लें कि आप का पता अपने सर्वर के लिए बाध्य है चाहते हैं, आप server.address.address उपयोग कर सकते हैं आईपी प्राप्त करने के लिए पता है कि सर्वर के लिए बाध्य है। इसी तरह, आप server.address.port का उपयोग करता है कि सर्वर के लिए बाध्य है पोर्ट संख्या प्राप्त करने के लिए कर सकते हैं।

से: http://nodejs.org/api/net.html#net_server_address

+0

इसका यह काम नहीं कर 0.0.0.0 आईपी पता देता है। कोई विचार? { "पता": "0.0.0.0", "परिवार": "आईपीवी 4", "बंदरगाह": 8000} – Sohaib

+0

से: http://nodejs.org/api/http.html#http_server_listen_port_hostname_backlog_callback। यदि आप इसे होस्ट करने के लिए होस्टनाम पास नहीं करते हैं तो यह डिफ़ॉल्ट रूप से 0.0.0.0 से बंधेगा। चूंकि आप केवल एक बंदरगाह निर्दिष्ट कर रहे हैं, यह डिफ़ॉल्ट रूप से 0.0.0.0 से जुड़ा होगा और सर्वर से लौटाई गई वस्तु होगी। एड्रेस सही होगा। –

+0

देखें एलिस्टेयर मैकडोनाल्ड का जवाब:। Server.address() पते, server.address.address नहीं –

9

उपयोग निम्नलिखित:

server.address() 

कौन सा की तरह कुछ लॉग:

{ address: '0.0.0.0', family: 'IPv4', port: 8080 } 

कंसोल, उपयोग करने के लिए अपने सर्वर का आईपी लॉग ऑन करने के लिए:

console.log(server.address().address); 
+1

यह सही उत्तर है क्योंकि 'पता' एक विधि है, संपत्ति नहीं – divillysausages

संबंधित मुद्दे