2009-06-22 39 views

Trả lời

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

Cảm ơn các bạn đã giúp đỡ của bạn nhưng tôi muốn nhận được địa chỉ IP của khách truy cập không phải là pc im làm việc trên –

+3

Erm. Ví dụ của tôi không liên quan gì đến PC bạn đang sử dụng. DNSNameString có nghĩa là tên của máy chủ bạn đang kết nối - nghĩa là trả lời câu hỏi gốc. Tôi không biết nơi mà bạn đang nói về địa chỉ IP của khách truy cập đến từ hoặc những gì nó đã làm với câu hỏi. – chaos

0

Dựa trên nhận xét của bạn về câu trả lời hỗn loạn, bạn không muốn địa chỉ IP của một máy chủ, bạn muốn địa chỉ IP của một khách hàng. Nếu đó là trường hợp, hãy sửa câu hỏi của bạn ... và câu trả lời của bạn sẽ là HttpRequest.UserHostAddress.

2

Nếu bạn Sử dụng Dưới đây Method bạn sẽ có thể giải quyết một cách chính xác

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; 
     } 
Các vấn đề liên quan