UDP文件传输 - 是的,UDP

Sco*_*ott 5 c# udp file-transfer

我需要创建一个UDP文件传输系统.我知道TCP是有保证的,而且更可靠,但我需要在不同位置之间传输大文件,我认为这个项目的速度优势超过了使用TCP的好处.我刚刚开始这个项目,但是如果有人之前做过这样的话,我想要一些指导.我将写双方(客户端和服务器),所以我不需要担心其他产品的功能限制.

简而言之,我需要:

  • 获取大文件并以块的形式发送它们
  • 能够限制客户端的带宽
  • 创建某种数据包编号系统,用于错误,重新传输和通过服务器上的块组装文件(是的,我们从TCP免费获得的所有东西:-)
  • 可配置的数据报大小 - 我认为一些防火墙会因为太大而抱怨?
  • 还有其他我可能遗失的东西

我正在使用UdpClient开始这个旅程,并希望用C#编写这个应用程序.任何智慧的话(除了使用TCP)?


它取得了巨大的成功.我们过去常常使用RocketStream.com,但他们将产品卖给了另一家公司,仅供内部使用.我们通常获得比FTP或原始TCP字节传输快30倍的速度.

fvu*_*fvu 1

我不相信速度增益会很大,但这是一个有趣的实验。这样的协议看起来和行为更像是传统的基于调制解调器的协议之一,并且ZModem可能是从中获得一些灵感的更好示例之一(实现确认窗口、自适应块大小等)。

已经有人尝试过了,请查看这个网站