2011-10-19 3 views
2

서버로부터 파일을 다운로드하여 네트워크 성능을 테스트하는 .net Windows 서비스가 있습니다. HTTP 요청을 만들려면 (HttpWebRequest)WebRequest.Create(uri)을 사용하고 있습니다.각 WebRequest.Create()에 대해 다른 TCP 연결

이 서비스는 타이머에 의해 제어됩니다. 타이머 간격이 상대적으로 작은 경우 HTTP 요청은 서버에 의해 차단됩니다.

패킷 분석기를 보면 TCP 연결이 다시 사용 된 것처럼 보입니다. 각 WebRequest에 대해 '새로운'TCP 연결을 요청하는 방법은 무엇입니까?

답변

1

저는 여러분이 HTTP-keep keep alive에 직면 해 있다고 생각합니다. 따라서 WebClient을 사용하지 말아야합니다. 이것은 클라이언트로부터 connection: keep-alive 헤더로 보내지고 서버가 지원하면 연결이 유지됩니다. 위키에서 더보기 : http://en.wikipedia.org/wiki/HTTP_persistent_connection

아마도 connection:close을 보내면 각 요청마다 새로운 TCP 세션이 생성됩니다.