我需要在.NET中以最快的方式将文件从一台服务器传输到多个客户端(使用互联网)。 有哪些不同类型的传输协议可以在.NET或VB.NET中使用,以便在很短的时间内发送文件? 我尝试过使用FTP,但这很慢,因为它需要身份验证,握手等。 我想知道的是.NET中用于在服务器和多个客户端之间以最快的方式发送文件的选项。 我们可以使用像zeromq这样的库吗?
答案 0 :(得分:2)
您可以使用TCP连接或UDP连接。 UDP协议速度更快,但它非常不可靠,因此它对流式传输视频很有用,但不适用于发送稍后需要打开的文件。
但普通的TCP连接不比FTP快,至少在我的经验中如此。如果你想要可靠性,FTP是你能得到的最好的。
答案 1 :(得分:0)
首先,您应该像Ilya建议的那样决定是否需要TCP或UDP。 参考:
在.net中,您可以将文件流复制到网络流(服务器)中。从您的网络流到文件流(客户端)。如果你有很多小文件,你可以尝试将所有文件压缩到一个包中,然后转移一个。
将包发送到客户端后,您可以验证校验和(例如MD5)并解压缩。