2009-06-22 14 views
15

आप सर्वर के आईपी पते को गतिशील रूप से कैसे प्राप्त कर सकते हैं (पीसी जिसे आप कनेक्ट करना चाहते हैं)?सी # में, मैं मेजबान के आईपी पते को कैसे हल करूं?

+0

को हल करने में सक्षम हो जाएगा, Ping.Send एक IPAddress आवश्यकता है, इसलिए के लिए सत्यापन कोड "सर्वर जीवित है" यह अनुवाद की जरूरत है। –

उत्तर

10
IPHostEntry Host = Dns.GetHostEntry(DNSNameString); 
DoSomethingWith(Host.AddressList); 
+0

आपकी मदद के लिए धन्यवाद दोस्तों लेकिन मैं आगंतुक का आईपी पता प्राप्त करना चाहता हूं कि पीसी –

+3

एआरएम पर काम कर रहा हूं। मेरा उदाहरण उस पीसी के साथ कुछ लेना देना नहीं है जिस पर आप हैं। DNSNameString उस सर्वर का नाम है जिसका आप कनेक्ट कर रहे हैं - यानी, मूल प्रश्न का उत्तर देना। मुझे नहीं पता कि विज़िटर के आईपी पते के बारे में आप कहां कह रहे हैं कि इस सवाल से क्या करना है या क्या करना है। – chaos

0

अराजकता के जवाब पर अपनी टिप्पणी के आधार पर, आप एक सर्वर का IP पता नहीं करना चाहते हैं, तो आप एक क्लाइंट का IP पता करना चाहते हैं। यदि ऐसा है, तो अपने प्रश्न को ठीक करें ... और आपका उत्तर HttpRequest.UserHostAddress होगा।

2

आप विधि नीचे का उपयोग करें यदि आप एक उदाहरण के रूप में सही ढंग से

public static bool GetResolvedConnecionIPAddress(string serverNameOrURL, out IPAddress resolvedIPAddress) 
     { 
      bool isResolved = false; 
      IPHostEntry hostEntry = null; 
      IPAddress resolvIP = null; 
      try 
      { 
       if (!IPAddress.TryParse(serverNameOrURL, out resolvIP)) 
       { 
        hostEntry = Dns.GetHostEntry(serverNameOrURL); 

        if (hostEntry != null && hostEntry.AddressList != null && hostEntry.AddressList.Length > 0) 
        { 
         if (hostEntry.AddressList.Length == 1) 
         { 
          resolvIP = hostEntry.AddressList[0]; 
          isResolved = true; 
         } 
         else 
         { 
          foreach (IPAddress var in hostEntry.AddressList) 
          { 
           if (var.AddressFamily == AddressFamily.InterNetwork) 
           { 
            resolvIP = var; 
            isResolved = true; 
            break; 
           } 
          } 
         } 
        } 
       } 
       else 
       { 
        isResolved = true; 
       } 
      } 
      catch (Exception ex) 
      { 

      } 
      finally 
      { 
       resolvedIPAddress = resolvIP; 
      } 

      return isResolved; 
     } 
संबंधित मुद्दे