मुझे विंडोज 8 WinRT/Metro ऐप से मेरे वास्तविक स्थानीय आईपी पते (यानी लूपबैक पता नहीं) जानने की आवश्यकता है। मुझे इसके कई कारण हैं। सबसे आसान यह है कि ऐप के यूआई में मैं कुछ टेक्स्ट दिखाना चाहता हूं जैसे "आपका स्थानीय नेटवर्क आईपी पता है: [आईपी कोड से पूछताछ]"।क्वेरी स्थानीय आईपी पता
हम कुछ अतिरिक्त नेटवर्क कॉम के लिए पते का भी उपयोग करते हैं। वे comms पूरी तरह मान्य हैं क्योंकि अगर मैं नियंत्रण कक्ष में आईपी पता देखता हूं तो यह सब काम करता है, फिर इसे ऐप में हार्ड-कोड करें। पते को देखने के लिए उपयोगकर्ता से एक संवाद में पूछना और मैन्युअल रूप से इसे दर्ज करना वास्तव में कुछ है, वास्तव में इससे बचना चाहते हैं।
मुझे लगता है कि यह प्रोग्राम प्रोग्रामेटिक रूप से प्राप्त करने के लिए एक जटिल कार्य नहीं होगा, लेकिन मेरा खोज इंजन और स्टैक ओवरफ्लो कौशल खाली हो रहे हैं।
इस बिंदु पर मैं अपना स्वयं का अनुरोध सुनने और उस पते को निकालने के लिए यूडीपी प्रसारण/सुनो लूप करने पर विचार करना शुरू कर रहा हूं, लेकिन यह वास्तव में हैकी क्लज की तरह लगता है। क्या नई एवीआरटी सामग्री में कहीं कोई एपीआई है जो मुझे वहां ले जाएगी?
ध्यान दें कि मैंने कहा "WinRT अनुप्रयोग। इसका मतलब है कि Dns.GetHostEntry
या NetworkInterface.GetAllInterfaces()
जैसे विशिष्ट तंत्र काम करने के लिए नहीं जा रहे हैं।
विंडोज केवल इंटरफेस से अवगत है, अगर कोई नेटवर्क डिवाइस पर स्थानीय नेटवर्क आईपी एड्रेस निर्दिष्ट करता है, तो वह पता है (यह पूरी तरह मान्य है)। आप आईपी पते के साथ क्या करने की कोशिश कर रहे हैं? आप यूडीपी प्रसारण करने/किसी भी चीज़ पर सुनने में सक्षम होने की संभावना नहीं है, लेकिन आईपी एड्रेस इंटरफ़ेस जानता है कि अक्सर स्थानीय नेटवर्क पता नेटवर्क के बाहर मान्य नहीं है। –
http://msdn.microsoft.com/en-us/library/windows/apps/hh454046(v=vs.85).aspx –
@Ramhound पर एक नज़र डालें: सुनिश्चित नहीं है कि मुझे क्या देखना चाहिए - और यह दस्तावेज उपभोक्ता पूर्वावलोकन और वीएस 11 बीटा के साथ देखे गए व्यवहार के साथ वर्ग नहीं है।उदाहरण के लिए दस्तावेज़ 'NetworkIntrface.GetAllNetworkInterfaces()' को दिखाना चाहिए, लेकिन यह अस्तित्व में नहीं है। – ctacke