函数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;
}
这可能意味着您的系统无法获取主机条目。例如,当没有为给定 IP 定义 PTR 记录时,会发生这种情况。