函数Dns.GetHostEntry
不会将ipaddresses
作为字符串处理,例如127.0.0.1
但如果我将google.de
作为参数传递,则效果非常好。
我做错了吗?
public static Socket connSock(string Server, int Port)
{
Socket s = null;
IPHostEntry ipHE = Dns.GetHostEntry(Server);
//IPAddress[] ipA = null;
IPEndPoint ipE = null;
foreach (IPAddress address in ipHE.AddressList)
{
ipE = new IPEndPoint(address, Port);
Socket tempSocket = new Socket(ipE.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
tempSocket.Connect(ipE);
if (tempSocket.Connected)
{
s = tempSocket;
break;
}
else
{
continue;
}
}
return s;
}
答案 0 :(得分:1)
这可能意味着您的系统无法获取主机条目。当没有为给定IP定义PTR记录时(例如)会发生这种情况。