此代碼適用於我的系統而不是服務器請幫我解決這個錯誤。我不知道什麼是錯誤..獲取系統ip代碼在服務器中不工作
這是我的部分代碼...
private IPAddress getMyCurrentIP()
{
IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
if (host.AddressList.Length == 1)
myCurrentIP = host.AddressList[0].ToString();
else
{
foreach (IPAddress address in host.AddressList)
{
if (address.AddressFamily == AddressFamily.InterNetwork)
{
if (IsLocal(address))
return address;
}
}
}
return null;
}
public bool IsLocal(IPAddress address)
{
if (address == null)
throw new ArgumentNullException("address");
byte[] addr = address.GetAddressBytes();
return addr[0] == 10
|| (addr[0] == 192 && addr[1] == 168)
|| (addr[0] == 172 && addr[1] >= 16 && addr[1] <= 31);
}
請幫我解決這個錯誤...
而這段代碼被破壞了......怎麼樣?我的水晶球今天在店裏... – 2012-04-03 12:44:58
當列表中只有一個IP時,爲什麼你不檢查AddressFamily和IsLocal。調試是解決這個問題的唯一真正的方法,因爲它取決於機器的設置,但是邏輯上似乎存在足夠大的差距來驅動總線。 – 2012-04-03 12:55:39