我正在编写一个 .NET WINFORMS 客户端-服务器应用程序,其中客户端需要能够将大文件传输到服务器托管的客户端上。我正在编写软件的两端,因此我可以完全控制如何进行传输,但我不知道最好的 .NET 方法是什么。
服务器将从它的硬盘驱动器中提供文件并且它会知道文件的大小。服务器一次只提供一个文件,并且一次只提供给一个用户。客户端需要显示传输的速度和进度。它还需要能够暂停和恢复传输。我还希望能够跨会话暂停和恢复 - 例如,我暂停和关闭客户端,当我重新打开客户端时,我可以恢复传输。
我的计划是使用 .NET WebClient
( MSDN ) 类,但我不知道是否有更好的方法来做到这一点。我知道我不是第一个有这些要求的人,所以我不想重新发明轮子。有什么建议么?