System.Net.Sockets.SocketException

时间:2011-06-14 12:51:28

标签: c#

Encoding en = Encoding.GetEncoding("iso-8859-1"); // default encoding
IPHostEntry IPhst = Dns.GetHostEntry(_Host);
IPEndPoint endPt = new IPEndPoint(IPhst.AddressList[0], 25);
Socket s = new Socket(endPt.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
s.Connect(endPt);

这里得到的错误如下:

  

System.Net.Sockets.SocketException:连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机无法响应202.88.253.162:25      在System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot,SocketAddress socketAddress)“

我如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

没有服务器正在侦听您尝试连接的指定IP /端口。

错误的可能原因:

  1. 您使用的是错误的IP地址
  2. 您使用的是错误的端口
  3. <强>更新

    没有看到您尝试连接到SMTP服务器。许多ISP:阻止所有IP地址的端口25,除了他们自己的SMTP服务器。这是为了减少垃圾邮件。所以这也可能是原因。

答案 1 :(得分:0)

尝试使用IP 127.0.0.1。可能有用。

答案 2 :(得分:0)

我将代码中的端口25更改为587。

SmtpServer.Port = 587;

它开始工作=)