每个WebRequest.Create()都有不同的TCP连接

本文关键字:TCP 连接 WebRequest Create 每个 | 更新日期: 2023-09-27 18:11:34

我有一个。net windows服务,通过从服务器下载文件来测试网络性能。我使用(HttpWebRequest)WebRequest.Create(uri)来创建HTTP请求。

该服务由计时器控制。当计时器间隔相对较小时,HTTP请求会被服务器阻塞。

通过查看包分析器,似乎TCP连接已被重用。如何为每个WebRequest请求一个"新的"TCP连接?

每个WebRequest.Create()都有不同的TCP连接

尝试设置HttpWebReqeuest.KeepAlivefalse

我相信您正面临一个HTTP-keep alive,所以您必须以某种方式强迫WebClient不要使用它。这是作为connection: keep-alive头从客户端发送的,如果服务器支持它,则保持连接。在Wiki中查看更多信息:http://en.wikipedia.org/wiki/HTTP_persistent_connection

所以如果你发送connection:close,你可能会在每个请求上得到一个新的TCP会话。