Jak na temat korzystania HttpRequest klasę z metodą AddRange nazwie. Powinno to być nagłówkiem z offsetem, od którego można rozpocząć pobieranie.
var request = HttpWebRequest.Create(new Uri("http://www.myurl.com/hugefile"));
request.Method = "GET";
request.AddRange(offset_for_this_thread); // I assume you have calculated this
// before firing threads
Stream reponseStream = request.GetResponse().GetResponseStream();
Następnie można odczytać dane z "Response" i połączyć je z pozostałymi wątkami po zakończeniu.
Jednak, jak zauważyli wszyscy inni, przyniesie to wartość tylko wtedy, gdy masz dwa adaptery, oba podłączone do Internetu, i masz jakieś balansowanie pasma między tymi przejściami ... W przeciwnym razie Windows prawdopodobnie odwróci wszystko na to samo połączenie.
Czy Twoje połączenie sieciowe jest w pełni wykorzystywane? Jeśli tak, nie możesz przyspieszyć pobierania z wieloma wątkami. –
To nie pomoże. Doprowadzi to tylko do narzutu. –
Dlaczego zakładasz, że to strona klienta/szerokość pasma jest problemem? Może to pomóc, jeśli serwer WWW używa pewnego rodzaju dławienia, które nie sprawdza, czy wiele połączeń pochodzi od tego samego klienta. – jgauffin