【发布时间】:2014-03-16 10:15:06
【问题描述】:
现在我正在使用 Socket SendFile API,通过任何网络发送文件或它的一部分。我可以通过lan 加快这个过程吗?我知道像TeraCopy 这样的程序,与使用CopyFile API 的Windows 资源管理器处理相比(我认为),它使通过LAN 处理文件的速度更快(有人说速度提高了2 倍)。我不知道他们是怎么做到的。你能给我建议吗?
【问题讨论】:
-
您会发现 TeraCopy 可能仍在使用 Win32
FileCopy库。没有简单的方法来改进网络点对点,我相信 Windows/Samba 开发人员已经优化了他们的低级代码来很好地做到这一点。您可以期望的最好的结果是优化您的文件队列。 -
@Xenolightning 经过一番搜索后发现有很多更快的文件传输然后标准 TCP 用于不同的条件:对于很多小文件 - 首先,对于具有高延迟的高速网络上的大文件- 第二,对于大文件,赢得具有低延迟的高速网络 - 第三……仍在寻找……
-
你有两个问题,“我可以让这个过程在局域网上更快吗?”显而易见的答案是
Yes。然后您询问 TeraCopy 的工作原理,这是我用作您的“真实”问题的上下文的内容。也许您将问题修改为“我想通过网络传输文件,如何才能最大限度地提高传输速度?”
标签: c# c++ sockets networking tcp