2010-07-15 17 views
10

मैंने नीचे दिए गए कोड के साथ जुड़े क्लाइंट आईपी प्राप्त करने में कामयाब रहे हैं लेकिन मेजबाननाम नहीं लग रहा है।आईपी पते से होस्ट नाम प्राप्त करें

Globals.connectedIPAddress = "" + IPAddress.Parse(((
    IPEndPoint)_client.Client.RemoteEndPoint).Address.ToString()); 
+4

बस उत्सुक: अपने ToString-पार्स-ToString गंदगी किसी भी उद्देश्य है? – dtb

+0

न्यूबी बड। यदि कोई क्लीनर तरीका है तो मैं जानना चाहूंगा। – arbme

उत्तर

14

ठीक है, नहीं हर आईपी पते एक नाम है। हालांकि, IPAddress दिए गए आप Dns.GetHostEntry से का उपयोग कर इसे हल करने के लिए का उपयोग कर सकते हैं। यह भी ध्यान रखें कि यदि यह एनएटी राउटर है, तो आपको राउटर का आईपी पता उनके वास्तविक मशीन की बजाय मिल जाएगा।

और बस टिप्पणी में बिंदु को संबोधित करने, मैं मानता हूँ ToString/पार्स/ToString में कोई मतलब नहीं है कि:

IPAddress address = ((IPEndPoint)_client.Client.RemoteEndPoint).Address; 
Globals.connectedIPAddress = address.ToString(); 
+0

@ अगर यह एनएटी राउटर है, तो आपको राउटर का आईपी पता उनकी वास्तविक मशीन के बजाय मिल जाएगा। - क्या वास्तविक मशीन नाम (डोमेन नाम) प्राप्त करना संभव है? –

+0

@ विजय बाल्कवाडे: मुझे उम्मीद नहीं है, व्यक्तिगत रूप से ... –

+0

@ जोनस्केट इस (2.5 साल बाद) से बेहतर तरीका नहीं है? मेरे नेटवर्क पर यह विधि प्रत्येक बार एक अपवाद फेंकता है। –

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