随机获取“System.Net.Sockets.SocketException:连接尝试失败,因为连接方
Posted
技术标签:
【中文标题】随机获取“System.Net.Sockets.SocketException:连接尝试失败,因为连接方【英文标题】:Randomly getting "System.Net.Sockets.SocketException: A connection attempt failed because the connected party 【发布时间】:2018-12-13 23:44:39 【问题描述】:我已经创建了一个网络作业来在 Azure 上抓取我的网站,该网站每 10 秒运行一次,几个月前该网络作业运行良好,但现在随机出现以下错误
System.Net.Sockets.SocketException (0x80004005):连接尝试 失败,因为连接方没有正确响应后 一段时间,或建立连接失败,因为已连接 主机未能响应 81.218.113.171:443 在 System.Net.Sockets.Socket.DoConnect(端点 endPointSnapshot, SocketAddress 套接字地址)在 System.Net.ServicePoint.ConnectSocketInternal(布尔连接失败, Socket s4, Socket s6, Socket&socket, IPAddress&地址, ConnectSocketState 状态、IAsyncResult asyncResult、Exception& 例外)
我尝试用谷歌搜索并尝试了很多方法来设置WebRequest
,如下所述
WebRequest.proxy = null;
WebRequest.KeepAlive = false;
WebRequest.ProtocolVersion = HttpVersion.Version10;
WebRequest.ServicePoint.ConnectionLimit = 12;
正如我所说的错误是随机出现的,在爬行 5 到 6 次时出现一次。
【问题讨论】:
嗨。你有没有找到这个的原因?我刚开始遇到同样的问题。 【参考方案1】:您的网站有多少个实例正在运行?可能有(比如说)6 个实例正在运行,其中 5 个可以,但最后一个已停止运行。负载均衡器没有意识到实例已关闭,并且仍在将请求推送到“损坏”的实例。
【讨论】:
以上是关于随机获取“System.Net.Sockets.SocketException:连接尝试失败,因为连接方的主要内容,如果未能解决你的问题,请参考以下文章
JAVA 获取一个四位随机数(并且四位数不重复),并说明原理和算法