Hãy tha thứ cho sự thiếu hiểu biết của tôi về chủ đề này.Multipart Tải xuống trong C#?
Tôi muốn viết một ứng dụng trong C# có thể tải tệp xuống máy chủ theo cách tương tự DownThemAll. DownThemAll dường như mở bốn kết nối đến máy chủ HTTP để tải xuống cùng một tệp. Tôi đã chỉ tự hỏi nếu có bất kỳ thư viện hiện có mà có thể làm điều này.
Dưới đây là một trích dẫn từ trang web của họ về tính năng này:
DownThemAll có kỹ thuật tải thông minh gọi là 'nhiều phần dữ liệu tải về. Nó chia nhỏ các tập tin thành nhiều phần, được tải xuống cùng một lúc.
Tôi cũng muốn có thể tạm dừng/tiếp tục tải xuống. Đó là chức năng cơ bản mà tôi muốn, tôi không nhất thiết cần một thư viện quản lý tải xuống chính thức, nhưng nếu có một thư viện có thể làm những việc này thì tôi cũng muốn biết về chúng. Các tệp nằm trong thư mục được bảo vệ bằng mật khẩu được lưu trữ với lighttpd, vì vậy tôi cũng cần một số cách để xác thực bản thân mình.
Nếu không có bất kỳ thư viện nào có sẵn mà tôi có thể sử dụng, thì tôi nên xem các lớp học .net nào để có thể thực hiện việc này?
Cảm ơn!
EDIT: Viết lại tiêu đề để phù hợp hơn và thêm trích dẫn từ trang web DownThemAll giải thích nó là gì.
2nd EDIT: Tôi tin rằng svens đã đăng câu trả lời phù hợp nhất cho đến nay, mặc dù là nhận xét:/Đó là lỗi của tôi vì tôi đã nhầm lẫn tiêu đề vì tôi không biết mình đang nói gì. Anh ấy đã đăng một số article để tiếp tục tạm dừng/tiếp tục tải xuống HTTP. Nó cũng nói về Range
tiêu đề đó là những gì tôi nghĩ rằng tôi phải sử dụng:
Tiêu đề Phạm vi có khả năng yêu cầu nhiều hơn một phạm vi trong một yêu cầu duy nhất, một tính năng gọi là "dãy nhiều phần dữ liệu." Đừng nhầm lẫn điều này với tải xuống được phân đoạn, hầu như tất cả các công cụ tải xuống đều sử dụng để tăng tốc độ tải xuống. Những công cụ này yêu cầu cải thiện tốc độ tải xuống bằng cách mở hai hoặc nhiều kết nối đồng thời, mỗi kết nối yêu cầu một phạm vi khác nhau của tệp.
Vì vậy, tôi sử dụng phạm vi này để đồng thời tải xuống một số phần nhất định của tệp. Sau đó, một lần nữa điều này có lẽ không có bất kỳ lợi thế hơn chỉ cần tải về các tập tin trong một đi. Tôi sẽ chỉ làm điều đó và cho phép tạm dừng/tiếp tục.
Thanks guys!
P.S svens, hãy tiếp tục và đăng nhận xét dưới dạng câu trả lời để tôi có thể chấp nhận nếu bạn muốn.
http://www.devx.com/dotnet/Article/22533/0/page/2 mô tả cách tải xuống được tiếp tục trong giao thức http, http://www.codeproject.com/KB/IP/pauseresume.aspx mô tả cách làm điều đó với máy chủ ftp. – svens
Đó có thể là một câu trả lời tôi nghĩ. Đó là phương pháp tương tự có thể là cách họ tải xuống các phần riêng biệt của tệp, sau đó bằng cách nào đó đặt nó lại với nhau khi các phần được hoàn thành. –
Thực tiễn này thực sự không tốt cho máy chủ và nỗ lực được thực hiện để chặn các lần tải xuống như vậy. Bí quyết tăng lên trong thời gian của modem quay số khi mọi người cố gắng ép mọi thứ ra khỏi nó. Chỉ cần được tốt đẹp và tải về trong một kết nối. EDIT: Phương pháp này sẽ thất bại trên máy chủ MY vì nhiều lý do. Tôi có một thứ để ném gậy dưới chân của người đần độn. – Zdenek