IP पता ':: 1' क्या है?


107

मैं बिना किसी नेटवर्क कनेक्शन के स्थानीय मशीन पर सॉकेट से खेल रहा था। निचे देखो:

IPAddress address = IPAddress.Any; // doesn't work
IPAddress address = IPAddress.Parse("::1"); // works

तो वास्तव में ::1आईपी ​​एड्रेस क्या है ? क्या यह डिफ़ॉल्ट उपलब्ध IP पता है या यह लूपबैक पता है? समर्पित IP पते और नेटवर्क कनेक्शन वाली मशीन पर उपरोक्त कोड (वर्किंग लाइन) क्या होता है?

संपादित करें:

सॉकेट के लिए एक विशिष्ट आईपी पते को बांधने के लिए सटीक कोड का उपयोग किया जाता है। यह रहा:

ServicePoint sp = ServicePointManager.FindServicePoint(uri);
sp.BindIPEndPointDelegate = new BindIPEndPoint(Bind);
// here's the bind delegate:
private IPEndPoint Bind(ServicePoint sp, IPEndPoint ep, int retryCount)
{
   return new IPEndPoint(IPAddress.Parse("::1"), 0);
}

4
IPAddress.Anyहै ::0, आपको IPAddress.Loopbackस्थानीय (लूपबैक) कनेक्शन के लिए उपयोग करना चाहिए ।
जे -१६ एसडीआईजेड

मुझे लगता है कि यह SuperUser.com
Kamyar

मैं उस हिस्से को मान रहा हूं जो कहता IPAddress.Parsहै कि वास्तव में IPAddress.Parse, सही है?
ब्रैड

जवाबों:


150

::1IPv6 में लूपबैक पता है। इसे IPv6 संस्करण के रूप में सोचें 127.0.0.1

Http://en.wikipedia.org/wiki/Localhost देखें


1
उदाहरण के लिए IPAddress.Parse("127.0.0.1")मेरे मशीन पर काम नहीं करता है।
Xaqron

1
@Xaqron - जो एक सुपरसुसर प्रश्न की तरह अधिक लगता है, क्योंकि इसका मतलब है कि आपके आईपीवी 4 टीसीपी / आईपी स्टैक के साथ कुछ टूट गया है।
जोएल कोएहॉर्न

Xaqron, शायद फ़ायरवॉल v4 को अवरुद्ध कर रहा है लेकिन v6 ट्रैफ़िक को नहीं?
सिल्वरबैकनेट

मैं उपयोग करता हूं Windows Server 2008 Enterprise Edition 64-bitऔर कोई तृतीय-पक्ष फ़ायरवॉल स्थापित नहीं किया गया है। मैं सोच रहा हूं कि उपलब्ध होने के बावजूद मैं 127.0.0.1अपने सॉकेट से क्यों नहीं जुड़ सकता ::1
Xaqron

@ Xaqron, क्या आप हमें अपना कोड दिखा सकते हैं जिसे आप उपयोग करने की कोशिश कर रहे हैं? आप कहते हैं कि "काम करता है" और "काम नहीं करता" लेकिन यह हमारे लिए उपयोगी नहीं है।
ब्रैड

18

बस इसमें थोड़ी और जानकारी जोड़ने के लिए, IPv6 में लूपबैक एड्रेस को 127 जीरो के बाद 1 (0000 ... 127 बार..1) के रूप में दर्शाया गया है। यह प्रतिनिधित्व इस तरह होना चाहिए था -> 0000: 0000: 0000: 0000: 0000: 0000: 0000: 0001 लेकिन इसके लिए हमारे पास कुछ संक्षिप्त रूप हैं। यदि किसी एकल खंड में सभी शून्य हैं, तो आप इसे एकल 0. से बदल सकते हैं - इसलिए यह बन जाता है -> 0: 0: 0: 0: 0: 0: 0: 0001 । फिर से हम देख सकते हैं कि हमारे पास शून्य के रन हैं, उन्हें समाप्त किया जा सकता है और हमें मिलता है -> :: 0001 -> :: 1


2
(स्पष्ट होने के लिए, यहाँ "127 शून्य" बाइनरी में हैं, हेक्साडेसिमल नहीं)
user202729
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.