下载此文档

返回n-arq 协议.docx


文档分类:通信/电子 | 页数:约14页 举报非法文档有奖
1/14
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/14 下载此文档
文档列表 文档介绍
实验报告
题目:返回N-ARQ协议
实验内容:实现收接双方的返回N-ARQ协议。
实验要求:进行实时的传输控制以及现实差错模拟
实验基本思想:
将发送方A的源文件()经过有序的切分之后送入缓冲双向队列之中,按照事先规定好的速率进行实时传输。接收方B接收到相应的分组之后进行回应,然后A根据回应对确认分组进行销毁,调整分发帧继续重传
实验结构:


2
3 4

ARQ-body

5 6
代码:



界面
7 8 9
10
发送帧校验和检查
接收分组校验和检查
反馈接收
反馈传输
帧传输
帧接收
基本参数设定
当前链路状态参数传输
随机计时器
链路状态窗口调用
代码:
ARQ-body:
#include<iostream>
#include<cstring>
#include<fstream>
#include<queue>
#include<ctime>
#include<stack>
#include<>
using namespace std;
#include""
#include""
#include""
#include""
#include""
#include""
int main(int argc,char* argv[])///////////////////////////////////用来初始化双方数据:默认双方使用缓冲区大小为5:3
{
char s1[30]={'1','.','t','x','t'};
char s2[30]={'2','.','t','x','t'};
int i;
if(argc!=1)
{
strcpy(s1,argv[0]);
strcpy(s2,argv[1]);
}
(s1);
if(!())
return 1;
(s2);
if(!())
return 1;
while(true)
{
if(!GetData())//////////////////////将当前文件的一个块插进队列1
break;
SendFrame();////////////////////文件发送
receive();
}
();
();
return 1;
}

int check_sum(char* puchMsg)
{
///////////////////////////采用CRC循环校验
/*unsigned char *puchMsg; /* 要进行CRC校验的消息*/
unsigned short usDataLen; /* 消息中字节数*/
/* CRC 高位字节值表*/
static unsigned char auchCRCHi[]={
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
0x80, 0x41

返回n-arq 协议 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数14
  • 收藏数0 收藏
  • 顶次数0
  • 上传人ranfand
  • 文件大小410 KB
  • 时间2017-10-22
最近更新