मैं कुछ मेजबान के नाम है कि मैं तुलना करने के लिए और बताती हैं कि वे एक ही मेजबान का प्रतिनिधित्व करते हैं, उदाहरण के लिए की जरूरत है की तुलना करने के:कैसे सही ढंग से मेजबान के नाम
localhost
127.0.0.1
machineName
सी # में यह करने के लिए सबसे विश्वसनीय तरीका क्या है ?
private bool CompareHosts(string host1, string host2)
{
UriBuilder builder1 = new UriBuilder();
builder1.Host = Dns.GetHostAddresses(host1)[0].ToString();
var uri1 = builder1.Uri;
UriBuilder builder2 = new UriBuilder();
builder2.Host = Dns.GetHostAddresses(host2)[0].ToString();
var uri2 = builder2.Uri;
return Uri.Compare(uri1, uri2, UriComponents.Host,
UriFormat.Unescaped, StringComparison.OrdinalIgnoreCase) == 0;
}
मैं शामिल नहीं किया है मेजबान पतों सरणी के लिए से निपटने त्रुटि, लेकिन मैं क्या करता है, तो यह तो अधिक एक पते वापस आ जाएगी करने के लिए यकीन नहीं है, इसका मतलब यह है कि: अब मैं उस तरह कर रहा हूँ के लिए वे विभिन्न मशीनों का प्रतिनिधित्व करेंगे? क्या उनकी तुलना करने का कोई बेहतर तरीका है? मुझे यह जांचना होगा कि वे मेजबान एक ही मशीन का संदर्भ लें।
':: 1' और '0: 0: 0: 0: 0: 0: 0: 1' भी नहीं; पी –
यह सही है कि एक होस्टनाम में एकाधिक आईपी पते हो सकते हैं - मामले पर विचार करें 5 नेटवर्क कार्ड वाले पीसी के ... पुष्टि के लिए http://support.microsoft.com/kb/110703 देखें। –
@ आरबी - कम दुर्लभ है कि 5 नेटवर्क कार्ड बस एक ही कनेक्शन में एकाधिक आईपी पते असाइन किए गए हैं। –