首页 > 代码库 > C# — WinForm TCP连接IPv4和IPv6的判断

C# — WinForm TCP连接IPv4和IPv6的判断

大家都知道,

XP系统默认使用的是IPv4格式的IP地址,

而Win7系统默认使用的是IPv6格式的IP地址。

所以有些关于TCP连接的WinForm系统,在XP下可能运行正常,但在Win7下却不能运行。

故,需要在进行TCP连接的时候,需要对IP地址格式进行一个判断。

代码如下所示:

//获取本机所有IP地址
IPAddress[] localips = Dns.GetHostAddresses(Dns.GetHostName());
foreach (IPAddress ip in localips)
{
     //找到本地所有IP地址符合IPV4协议的IP地址
    if (ip.AddressFamily == AddressFamily.InterNetwork)
     {
           IPAddress ip4;
           ip4 = ip;
           listener = new TcpListener(ip4, 5000);
           listener.Start();
           break;
      }
}