Я пытаюсь сделать небольшую программу для загрузки файлов через HTTP на С#. Базовая загрузка с помощью WebClient работает нормально, но теперь я хотел попробовать загрузить файл с несколькими подключениями. Уже:
HttpWebRequest HttpRequest = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse HttpResponse = (HttpWebResponse)HttpRequest.GetResponse();
Stream ResponseStream = HttpResponse.GetResponseStream();
FileStream FSChunk = new FileStream(destination, FileMode.OpenOrCreate, FileAccess.Write);
while ((BytesThisRead = ResponseStream.Read(Buffer, 0, (int)BytesPerRead)) != 0)
{
FSChunk.Write(Buffer, 0, BytesThisRead);
TotallyRead += BytesThisRead;
if (TotalReadLength - TotallyRead < buffersize)
BytesPerRead = TotalReadLength - TotallyRead;
}
Я могу загрузить файл, используя этот ResponseStream, также разделенный на 2 части, используя один ResponseStream. Моя проблема в том, что WebStreams не доступны для поиска, поэтому я не могу просто установить позицию для чтения. Как я могу загрузить один файл через HTTP одновременно, используя разные потоки (соединения, я думаю, что один поток не может использоваться несколькими участниками). Я прочитал здесь много статей и несколько часов гуглил, но не могу найти решение. Имеет ли кодирование фрагментированной передачи какое-либо отношение к этой теме?
С уважением, Дэймон