基于UDP的可靠性数据传输服务——设计与实现
来源:互联网 发布:随机滚动抽奖软件 编辑:程序博客网 时间:2024/05/14 02:11
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; node*next = NULL; }InfoNodeType; typedefstruct { InfoNodeType*front; InfoNodeType*rear; }BufInfoManagLq; // rUDP_receiver: typedefstruct{ intseqnum; int payload_len; char seg[sizeof(Segment)]; }RecvNode; typedefstruct{ intindex = 0; RecvNoderecv_array[10]; }RecvBuf;
- 开一个线程执行有限状态机任务。
3 说明
核心框架是一个发送类和一个接收类(收发分别实现的单工版本),可以提供类似于tcp socket的API和最基本的可靠性数据传输服务。
且:无数据截断,无快速重传,初始序列预定义,序列号不循环使用。
4 附图
5 源码
LZ从不吝惜这些源码,供网络编程初学者学习研究。戳这里……
1 0
- 基于UDP的可靠性数据传输服务——设计与实现
- 服务的可靠性设计
- App实现可靠性数据传输
- 基于UDP协议的网络摄像头的设计与实现
- 基于UDP的DayTime服务实现
- 【科研论文】基于W5300的以太网数据传输系统的设计与实现
- UDT:基于UDP的数据传输协议
- UDT:基于UDP的数据传输协议
- 一个基于UDP的可靠数据传输库
- udp 如何实现可靠性
- HDFS 可靠性的设计实现
- UDP网络通讯/UDP可靠性实现
- UDP实现linux与Windows之间数据传输
- UDP实现linux与Windows之间数据传输
- 基于总线的消息服务(BBMS)的设计与实现
- 基于SCA规范的服务框架设计与实现
- 基于SCA规范的服务框架设计与实现
- 基于高可靠性的架构设计
- 喀什的離開飛機哦木;adsl福克斯
- NYOJ鸡兔同笼
- 平會計穆的覅卡仕達救死扶傷地府
- 在centos6.5下安装tesseract3.02
- Java是传值还是传引用
- 基于UDP的可靠性数据传输服务——设计与实现
- 在centos下安装cVideo平台后连接tesseract
- NYOJ阶乘因式分解
- MacBook装双系统(装win7 64位)
- Java是传值还是传引用
- NYOJ小学生算数
- JAVA程序设计(04.2)-----Craps 带入金钱,输完自动离场
- C#之函数
- LeetCode 题解(52): Best Time to Buy and Sell Stock