【发布时间】:2011-12-11 19:55:07
【问题描述】:
我正在尝试学习UDP,并制作一个简单的文件传输服务器和客户端。 我知道 TCP 可能会更好,因为它内置了一些可靠性。但是我想自己实现一些基本的可靠性代码。
我决定尝试确定数据包何时丢失,然后重新发送。
我实现的是一个系统,服务器将向客户端发送一个 10 字节块的特定文件。在它发送每个块之后,它等待确认。如果它在几秒钟内没有收到一个,它会再次发送该块。
我的问题是如何快速完成这样的文件传输?如果你发送一个文件,假设他们有 25% 的机会丢失一个数据包,那么等待 ACK 的时间就会很长。
有没有办法解决这个问题?还是认为丢包率高,需要很长时间?确认的可接受超时值是多少?
谢谢!
【问题讨论】:
标签: c sockets networking udp file-transfer