(计网实验2)可靠数据传输协议-GBN 协议的设计与实现

该博客介绍了在计算机网络实验中设计和实现GBN(Go-Back-N)协议的过程。内容包括服务器端和客户端的设计,强调了全双工传输的挑战与解决方案,以及如何模拟数据包丢失和ACK丢失来验证协议的有效性。此外,还讨论了实验目的,如理解Socket编程和HTTP代理服务器工作原理。
摘要由CSDN通过智能技术生成

订阅专栏后可私信YUAN (vx: chatgptplus2023,备注:计网), 发订阅付款截图加入计算机网络专属微信群,与更多程序员交流有趣的知识与八卦。

// GBN_client.cpp : 定义控制台应用程序的入口点。
#include <stdio.h>
#include <stdlib.h>
#include <WinSock2.h>
#include <time.h>
#include <fstream>

#pragma comment(lib,"ws2_32.lib")

#define SERVER_PORT 12340 //接收数据的端口号
#define SERVER_IP  "127.0.0.1" // 服务器的 IP 地址

const int BUFFER_LENGTH = 1026;
const int SEQ_SIZE = 20;     //接收端序列号个数,为 1~20
const int SEND_WIND_SIZE = 10;//发送窗口大小为 10,GBN 中应满足 W + 1 <=N(W 为发送窗口大小,N 为序列号个数)

BOOL ack[SEQ_SIZE];         //收到 ack 情况,对应 0~19 的 ack
const int SEQ_NUMBER = 17;   //设置seq的数量
int cur
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天才程序YUAN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值