Dns.GetHostEntry不转换包含IP的字符串

时间:2012-11-25 15:08:13

标签: c# system.net system.net.sockets

函数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;
    }

1 个答案:

答案 0 :(得分:1)

这可能意味着您的系统无法获取主机条目。当没有为给定IP定义PTR记录时(例如)会发生这种情况。