ET.*_*ET. 0 .net c# httpwebrequest
假设我有HttpWebRequest对象“ request”,谁能解释以下示例代码的区别/含义?
request.KeepAlive = true;
request.ServicePoint.SetTcpKeepAlive(true, 1000, 5000);
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,我都将其设置为True。如果我将一个设为True,另一个设为False怎么办?这意味着什么?
这些是2个不同的功能。
HTTPWebRequest.KeepAlive是指HTTP持久连接功能,可以将套接字重新用于后续的HTTP请求。
ServicePoint.SetTcpKeepAlive是指TCP keepalive功能,该功能可在长时间不活动后阻止套接字关闭,并提供检测在不活动期间是否断开连接的功能。
两者都使用,或两者都不用,或两者结合使用是安全的。我认为在HTTP连接上使用TCP keepalive是非典型的。我推测,如果发生某种操作,而服务器没有义务在事件发生之前做出响应,则可能会使用它。例如:像通过HTTP进行长时间轮询。
| 归档时间: |
|
| 查看次数: |
3454 次 |
| 最近记录: |