サーバー(接続したいPC)のIPアドレスを動的に取得するにはどうすればよいですか?
9604 次
5 に答える
17
System.Dns.GetHostEntryを使用して、名前を IP アドレスに解決できます。
于 2009-06-22T22:42:10.403 に答える
10
IPHostEntry Host = Dns.GetHostEntry(DNSNameString);
DoSomethingWith(Host.AddressList);
于 2009-06-22T22:47:11.470 に答える
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;
}
于 2012-08-15T07:13:18.110 に答える
0
カオスの回答に対するコメントに基づいて、サーバーの IP アドレスは必要なく、クライアントの IP アドレスが必要です。その場合は、質問を修正してください...答えは HttpRequest.UserHostAddress になります。
于 2009-06-22T23:27:32.513 に答える
0
あなたはnslookupをしたいと思っています。
次に例を示します。
http://www.c-sharpcorner.com/UploadFile/DougBell/NSLookUpDB00112052005013753AM/NSLookUpDB001.aspx
于 2009-06-22T22:42:30.343 に答える