2011-07-07 107 views
1

我有一个ip检查在我的源使用csharp。关于与ipv4和ipv6 ip检查

现在,我必须考虑有关ipv4和ipv6的检查规则。

客户端也许像↓

・only ipv4 

・only ipv6 

・both ipv4 and ipv6 

对不起,进出口新的联网。

因此,有人可以给我一些关于IP检查的建议吗?

谢谢。

关于IP检查:

我有一个像↓检查现在:

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

如果客户端只有IPv6的,我怎么可以这样做检查?

并且,是否有服务器设置可以将ipv6转换为ipv4 auto?

+2

什么是IP检查? – Joe

+0

从IPv6到IPv4没有“转换” - 它们是完全独立的系统。我也看不出这种检查提供了什么用途。 – Joe

回答

6

using语句

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 
}