“主动拒绝连接”与“一段时间后未正确响应”之间的区别

时间:2013-10-09 07:32:55

标签: c# .net sockets

当Windows.Networking.Sockets.StreamSocket类的ConnectAsync方法失败时,我得到两种类型的错误。

  

“连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接主机无法响应而建立连接失败。”

  

“无法建立连接,因为目标计算机主动拒绝它”

这两个错误都是随机发生的,因此我无法弄清楚两者之间的区别。这些之间有什么技术差异?

1 个答案:

答案 0 :(得分:2)

  • 前者通常意味着目标机器无法访问(例如,它已关闭,或者您的互联网连接已关闭等)。
  • 后者意味着已到达机器,但TCP端口未打开(通常意味着服务器程序未运行;没有套接字监听)。

请注意,如果目标计算机正在运行阻止此端口的防火墙应用程序,则通常会将其配置为假装计算机无法访问(通过静默删除所有连接请求),而不是主动拒绝连接。