【发布时间】:2011-08-26 02:08:16
【问题描述】:
通过 UDP 发送文件的最快方式是什么?
A) 为文件的每个块创建一个大数据报,发送它,然后等待客户端的确认,然后再继续
B) 为文件的每个块创建一个大数据报,发送多个(编号的)数据报,并等待收到所有部分的确认,然后继续传输。如果某些部分在 5 秒内未收到,请重新传输这些部分
C) 其他一些我还不知道的方法
【问题讨论】:
-
如果您想要可靠的文件传输,请使用 TCP。我只会将 UDP 用于您可以容忍一些丢失并简单地发送数据包而不检查的情况,包括一些时间戳,以便您可以丢弃客户端上的乱序数据包。
-
@tvanfosson:NFS 使用 UDP,因为它比 TCP 更轻量级。你会得到一些非常棒的速度。 stackoverflow.com/questions/584112/…
-
@Chris 但 NFS 不传输文件。它传输单个块。
-
我不能使用 TCP,因为我需要能够穿越防火墙。我正在编写一个 P2P 传输程序(用于游戏的流式地图),并且我需要能够穿越防火墙,因为我的用户(通常)不知道如何在他们的路由器上转发端口。
标签: c# networking udp