温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

10053 您的主机中的软件中止了一个已建立的连接

发布时间:2020-07-04 23:11:59 来源:网络 阅读:12055 作者:fengyuzaitu 栏目:编程语言

场景

在不同的开发机器上,建立HTTP1.1连接,有的机器会进行一两次交互后,会检测到断开连接。这种情况下,会需要重连服务器。一般断开的原因包括硬件/路由/代理服务器。

目前尝试添加Keep-Alive字段,目前来看估计跟机器有关


摘自

You are assuming that the connection is staying open after each HTTP response is received, but that is 


not guaranteed. You have to look at the server's actual HTTP response (specifically, at the HTTP 


version reported in the status line, and at the Connection header) to know if the server is leaving the 


connection open or not.


You are sending an HTTP 1.1 request, but there is no guarantee that the server will reply with an HTTP 


1.1 response.


If the response is using HTTP 0.9, you must close the socket and reconnect before sending the next HTTP 


request.


If the response is using HTTP 1.0, and if the Connection header does not say keep-alive, then you must 


close the socket and reconnect before sending the next HTTP request.


If the response is using HTTP 1.1, and if the Connection header does not say close, then the server 


left the connection open on its end, and you can reuse the same connection for the next request. 


However, you do still need to take into account the possibility that the connection might be closed 


externally (by a firewall/router/proxy, etc) before you actually send the next HTTP request.


So in the case of either HTTP 1.0 or 1.1, if you are expecting the connection to remain open, but send


() fails with an error indicating the connection was lost, simply close the socket and reconnect and 


then send the same HTTP request again.


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI