尝试对无法访问的网络执行套接字操作

时间:2011-04-19 19:07:29

标签: c# .net sockets

我正在尝试使用以下代码验证电子邮件域验证(在代码Proejct上找到)

string hostName="<hostName>"; //Ex: yahoo.com
IPHostEntry Iphost=Dns.GetHostEntry(hostName);
IPEndPoint endPt=new IPEndPoint(Iphost.AddressList[0],25);
Socket s=new Socket(endPt.AdressFamily, SocketType.Stream, ProtocolType.Tcp);

s.Connect(endPt);

在s.Connect上我收到错误:尝试对无法访问的网络进行套接字操作。 可能的原因是什么,我该如何解决?我的机器上有防火墙(Comodo)。

2 个答案:

答案 0 :(得分:1)

计算机无法连接到已解析的地址。

查看Dns.Resolve给出的地址。

  

注意: Resolve方法is obsolete,并替换为GetHostEntry。 e.g:

IPHostEntry host = Dns.GetHostEntry("yahoo.com");

答案 1 :(得分:-2)

变化

Socket s=new Socket(endPt.AdressFamily, SocketType.Stream, ProtocolType.Tcp);

Socket s=new Socket(endPt.AddressFamily, SocketType.Stream, ProtocolType.Tcp);