GetHostEntry中的空AddressList

时间:2016-09-29 08:32:48

标签: c# sockets

我正在使用以下代码连接到远程主机:

IPHostEntry hostname = Dns.GetHostEntry("172.29.65.33");
IPAddress address = hostname.AddressList[0]; // IndexOutOfRangeException
...

我的问题是为什么AddressList为空?主持人在那里,没有SocketException被抛出......

一些细节:客户已将Windows XP升级到8.1,然后开始出现所有问题。

我已阅读thisthis主题,但不幸的是,它们无法解决问题,因此再次提出问题。

1 个答案:

答案 0 :(得分:0)

而不是通过IPHostEntry hostname = Dns.GetHostEntry("172.29.65.33"); IPAddress address = hostname.AddressList[0]; ... IPEndPoint end = new IPEndPoint(address, port);

解析地址
IPEndPoint end = new IPEndPoint(IPAddress.Parse("172.29.65.33"), port);

可以简单地解析

Dns

这将消除与使用{{1}}相关的所有问题(套接字异常,空地址列表等)。