О проверке ip с ipv4 и ipv6 - PullRequest
1 голос
/ 07 июля 2011

У меня есть проверка ip в моем источнике использования csharp.

А теперь я должен подумать о правиле проверки ipv4 и ipv6.

Клиентская сторона может быть как ↓

・only ipv4

・only ipv6

・both ipv4 and ipv6

Извините, я новичок в сети.

Как так, кто-нибудь может дать мне какое-нибудь предложение по поводу проверки ip?

Спасибо.

О проверке IP:

У меня есть чек, похожий на ↓:

bool isgoodip() 
{
  return ip.startwith(173); 
}

Если на стороне клиента есть только ipv6, как я могу выполнить такую ​​проверку?

и, есть ли на сервере настройки, можно конвертировать ipv6 в ipv4 auto?

1 Ответ

6 голосов
/ 07 июля 2011

Использование операторов

using System.Net;
using System.Net.Sockets;

Код проверки IP

IPAddress address = IPAddress.Parse("127.0.0.1");

if (address.AddressFamily == AddressFamily.InterNetwork) // IPv4
{
    // do ipv4 stuff here
}

if (address.AddressFamily == AddressFamily.InterNetworkV6) // IPv6
{
    // do ipv6 stuff here
}

if ((address.AddressFamily == AddressFamily.InterNetwork) || (address.AddressFamily == AddressFamily.InterNetworkV6)) // IPv4 and IPv6
{
    // do both ipv4 and ipv6 stuff here
}
...