如何在c#中通过TCP发送文件夹

本文关键字:TCP 文件夹 | 更新日期: 2023-09-27 17:52:38

我在寻找通过TCP发送整个文件夹的方法时遇到了麻烦。我最初的想法是发送方发送一个字符串,其中包含给定文件的路径,如C://MyFolder/MySubFolder/MyFile,然后接收方创建文件夹和子文件夹。然后发送方继续发送包含其目录的文件。

我认为这是不言而喻的,这不是做这件事的最好方法。有没有更好的方法?

编辑:

对不起,如果我有点含糊。我有一个文件传输应用程序,可以发送/接收文件,我想添加一个发送整个文件夹的方法。

如何在c#中通过TCP发送文件夹

您需要某种文件传输协议(即FTP)。在发送端使用一个易于设置的c# FTP服务器库(即:http://sourceforge.net/projects/csftpserver/),在客户端使用FtpWebRequest来获取整个文件夹结构。

使用著名的归档方法(zip, rar…)并传输数据。在另一边提取。这样可以保存:

  1. 实现容易出错递归模式。
  2. <
  3. 你的带宽/gh>

您查看过用于此目的的现有协议吗?似乎你想克隆FTP,也许在两者之间有一个像tar这样的流机制。

如果你考虑压缩/压缩:你可以看一下GZipStream类。

http://www.geekpedia.com/tutorial190_Zipping-files-using-GZipStream.html