【问题标题】:A socket operation was attempted to an unreachable network尝试对无法访问的网络进行套接字操作
【发布时间】:2011-04-19 19:07:28
【问题描述】:

我正在尝试使用以下代码(在 Code 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)。

【问题讨论】:

  • 唯一的原因是网络不可达。

标签: c# .net sockets


【解决方案1】:

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

看看Dns.Resolve给你的地址。

注意:Resolve方法is obsolete,并替换为GetHostEntry。例如:

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

【讨论】:

  • 更新了我的问题。我的错误是我刚刚复制了代码,但我确实在我的实际代码中使用了 Dns.GetHostEntry("")。我需要检查哪些内容才能使我的计算机连接到已解析的地址?我也试过 gmail.com,hotmail.com 主机名,但仍然是同样的错误。
  • @MNVR:这不是编程问题。您应该询问 SuperUser。
猜你喜欢
  • 2018-10-03
  • 1970-01-01
  • 2013-01-15
  • 2021-05-14
  • 1970-01-01
  • 2011-07-07
  • 1970-01-01
  • 2013-04-22
  • 1970-01-01
相关资源
最近更新 更多