10053 您的主机中的软件中止了一个已建立的连接
|
场景 在不同的开发机器上,建立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. (编辑:南阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- EvoPDF库在Windows Azure托管站点上失败
- .net – 可以按需下载先决条件的好安装程序
- windows – 为什么模拟会话中定义的DOS设备不会出现在资源管
- haskell – 用于Windows的Linux主机上的GHC交叉编译源代码
- windows – JScript:如何运行外部命令并获得输出?
- Windows BATCH:如何为单个脚本禁用QuickEdit模式?
- windows – 是否可以将kubernetes作为docker容器运行?
- jboss7.x – 无法登录到windows上的jboss 7.1管理控制台
- Windows系统DOS命令之多线程技术
- windows-ce – Windows CE的应用程序开发
