现在我使用Socket SendFile
API,通过任何网络发送文件或部分文件。我可以在lan
上更快地完成此过程吗?我知道像TeraCopy这样的程序,与使用CopyFile
API(我认为)的Windows资源管理器应对相比,使得局域网上的应对文件更快(有人说速度提高了2倍)。我不知道他们是怎么做到的。你能建议我吗?
答案 0 :(得分:2)
您可以动态压缩数据,然后在通过网络发送数据后对其进行解压缩。
GZipStream很适合这类事情,并提供了基本的压缩/解压缩示例。
压缩当然会让您的CPU性能受到影响,但您必须传输更少的数据,从而缩短传输时间。这个库的好处是压缩适用于流。因此,您可以通过网络流式传输而无需等待整个文件进行压缩。
答案 1 :(得分:0)
加速文件复制的一种方法是通过UDP而不是TCP来完成。那么问题是实现错误检查(因为UDP不保证数据包完整地或按顺序到达)。
Windows资源管理器文件副本很慢,因为它会单独打开每个文件,复制它,然后关闭它(至少就我所知)。
您的问题并没有真正提供任何代码,因此有点难以及时回答#。