1 前言
LZ这学期在外面交换,又重学了一遍计算机网络,发现它的课程项目设计得非常好。如题是第二个课程项目,在UDP上设计实现一个可靠性数据传输服务(不是TCP,只提供基本的可靠性数据传输服务)。
2 实现方案
- 有限状态机实现收发方交互逻辑(见附图)。
- 收发缓存设计:发送方发送缓存主体为一个循环队列(存放数据),同时配置一个链队列维护每个segment的信息(如序列号,数据量,与循环队列配合使用)。接收方缓存为一个固定大小的结构体数组。
// rUDP_sender:
typedefstruct
{
charbuf[MAXNUM];
intfront, rear;
}QueueBuf;
//Buffer Information Management
//linked queue
typedefstruct // element type
{
intseqnum = 0;
intlength = 0;
}Info;
typedef structnode
{
Infoinfo;