【问题标题】:Fast File Transfer using .NET使用 .NET 进行快速文件传输
【发布时间】:2015-12-20 22:41:19
【问题描述】:

我需要在 .NET 中以最快的方式将文件从一台服务器传输到多台服务器(使用互联网)。 .NET 或 VB.NET 中可以使用哪些不同类型的传输协议,以便在很短的时间内发送文件? 我尝试过使用 FTP,但这很慢,因为它需要身份验证、握手等。 我想知道的是我们在 .NET 中以最快的方式在服务器和多个客户端之间发送文件的选项。 我们可以使用 zeromq 之类的库吗?

【问题讨论】:

  • 一个普通的Socket?还是对你来说低级?
  • 我认为这个问题的答案很大程度上取决于您是要发送少量大文件还是大量小文件。
  • 我会发送很多小文件。

标签: .net vb.net network-protocols zeromq


【解决方案1】:

您可以使用 TCP 连接或 UDP 连接。 UDP 协议速度更快,但非常不可靠,因此它适用于流式传输视频,但不适用于发送稍后需要打开的文件。

但至少根据我的经验,普通的 TCP 连接比 FTP 快。如果您想要可靠性,FTP 是您可以获得的最佳选择。

【讨论】:

  • 对于少数大文件,FTP 速度很快,而对于很多小文件则不然。
【解决方案2】:

首先,您应该像 Ilya 建议的那样决定是否需要 TCP 或 UDP。 请注意:

在 .net 中,您有机会将文件流复制到您的网络流(服务器)中。从您的网络流到文件流(客户端)。如果您有很多小文件,您可以尝试将所有文​​件压缩到一个包中,然后转移这个包。

将包发送到客户端后,您可以验证校验和(例如 MD5)并解压缩。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-26
    • 2012-10-12
    • 1970-01-01
    • 2022-01-19
    • 2018-01-28
    • 2018-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多