이 코드는 서버에 있지 않은 시스템에서 작동합니다.이 오류를 해결하는 데 도움이됩니다. 오류가 무엇 확실하지 않다 ..서버에서 시스템 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);
}
날이 오류를 해결하기 위해 도와주세요 ...
그리고이 코드는 깨졌습니다. 어떻게? 내 수정 구슬이 오늘 가게에 있습니다 ... –
목록에 단 하나의 IP가있는 경우 왜 AddressFamily와 IsLocal을 확인하지 않습니까? 디버그가이 문제를 해결할 수있는 유일한 유일한 방법입니다. 컴퓨터가 설치되어 있는지 여부에 따라 달라 지지만 버스를 운전할만큼 충분히 큰 로직에 간격이있는 것으로 보입니다. –