Cómo sobre el uso HttpRequest clase, con el método AddRange llamada. Esto debería ser un encabezado con desplazamiento desde el cual comenzar a descargar.
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();
A continuación, puede leer los datos'responseStream' y fusionarlo con los otros hilos vez que se hace.
Sin embargo, como notaron todos, esto solo traerá valor si tiene dos adaptadores, ambos conectados a internet, y tiene algún tipo de equilibrio de ancho de banda entre esos adaptadores ... De lo contrario, Windows probablemente desvíe todo a la misma conexión.
¿Su conexión de red está completamente utilizada? Si es así, no puede acelerar la descarga con múltiples hilos. –
Esto no ayudará. Esto solo agregará sobrecarga. –
¿Por qué suponer que es el lado del cliente/ancho de banda el problema? Puede ser útil si el servidor web utiliza algún tipo de aceleración que no verifica si hay varias conexiones del mismo cliente. – jgauffin