简单高效可靠的自定义通信协议(传输协议)

取“高效简单可靠”这几个形容词还是很虚的,毕竟这是yy出来的东西。

设计的目的在于:在收发双方能够正常运行的情况下,尽可能高的利用网络传输能力(不使用一应一答),以及提高传输效率(无须对每个报文帧进行应答)。

对比Xmodem、Kermit,以及借鉴TCP的协议栈设计思想,设计一套通信协议:
1,定义发送方Sender、接收方Receiver;
2,Sender无需应答即不断地发送数据帧,直到Receiver报告的接收缓冲为空;
3,Receiver逐个处理接收到的数据帧,当接收缓冲区空闲大小大于总大小的一半,或超过1秒(这个时间可设定)未发送ACK时,则发送正响应ACK,正响应ACK中带有下一个期望接收的字节序列号(每个字节对应一个序列号)、可用接收缓冲大小等接收方信息。
4,当Receiver接收出现异常时,发送负响应ACK,带有下一个期望接收的字节序列号、可用缓冲大小、错误码。
5,Sender接收到负响应ACK后,从“下一个期望接收的字节序列号”开始重发数据。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值