欢迎来到天天文库
浏览记录
ID:15172790
大小:64.50 KB
页数:7页
时间:2018-08-01
《计算机网络课程设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验报告课程名称:计算机网络实验名称:ARQ协议模拟实现系院:信息科学与技术学院信息安全专业实验日期:2007-4-20班级:0405403实验报告日期:2007-5-10姓名:乔来阳学号:040540312同组人:无老师批阅签字:_______实验内容:编写两个计算机程序p1,p2。p1模拟发送方:首先从界面读取待发送字符(每接受一个字符的输入),保存到文件exe1.txt中,并启动计时器;p2模拟接收方,它从exe1.txt中查找是否有新字符到来,并提供模拟界面给用户选择:1.Ack-->接收该字符2.NAK--〉丢弃3.无反应--〉导致超时将用户选择的结果记录到exe2.txt中
2、;接收的字符保存到exe3.txt中。由于可视化操作不精通,这次实验过程在C++环境下模拟运行。运行环境:VisualC++6.0编程思路:新建三个文本文件,每次运行程序开始阶段使系统随机产生100个随机数,并使其转化为字符格式,让P1从界面读取字符,输送到exe1,txt文件中。并启动计时器记录传输时间。读入exe1.txt,若发现有新字符,则提供模拟界面给用户选择接收还是丢弃;若无反应,则输出超时信息。将用户选择的结果记录到exe2.txt中;接收的字符保存到exe3.txt中。文本文件读写一律采用追加模式。实验步骤:1.分析ARQ协议模拟实现的一般流程,画出流程图:exe1.tx
3、texe2.txt。1.Ack-->接收该字符2..NAK--〉丢弃.3.无反应--〉导致超时。选择的结果记录到exe2.txt中exe3.txt。接收的字符保存到exe3.txt中P11模拟发送方界面从界面读取字符保存到exe1中,并启动计时器接收新字符P2模拟接收方(ARQ协议流程图)2.结合C++文件操作部分编写源程序:源程序如下:#include"iostream.h"#include"fstream.h"#include"stdlib.h"#include"iomanip.h"#include"time.h"#include"string.h"voidmain(){longc
4、urtime_front_Sender,curtime_rear_Sender,curtime_front_Receiver,curtime_rear_Receiver;curtime_front_Receiver=time(NULL);//定义时钟charch,choice,str[4],array[100];inti,tag=0;//定义开关变量fstreamfile1;fstreamfile2;fstreamfile3;cout<<"打开文件:exe1,exe2,exe3"<5、ios::out6、ios::app7、);if(file1.fail()){cout<<"不能打开文件:"<<"exe1"<8、ios::out9、ios::app);if(file2.fail()){cout<<"不能打开文件:"<<"exe2"<10、ios::out11、ios::app);if(file3.fail()){cout<<"不能打开文件:"<<"exe3"<12、协议模拟实验";cout<<"ttt1随机产生字符ttt2接收ttt3退出"<>choice;switch(choice){case'1':for(i=0;i<100;i++)//随机产生字符{array[i]='a'+rand()%26;cout<13、文件中."<14、ios::out15、ios::app);fil
5、ios::out
6、ios::app
7、);if(file1.fail()){cout<<"不能打开文件:"<<"exe1"<8、ios::out9、ios::app);if(file2.fail()){cout<<"不能打开文件:"<<"exe2"<10、ios::out11、ios::app);if(file3.fail()){cout<<"不能打开文件:"<<"exe3"<12、协议模拟实验";cout<<"ttt1随机产生字符ttt2接收ttt3退出"<>choice;switch(choice){case'1':for(i=0;i<100;i++)//随机产生字符{array[i]='a'+rand()%26;cout<13、文件中."<14、ios::out15、ios::app);fil
8、ios::out
9、ios::app);if(file2.fail()){cout<<"不能打开文件:"<<"exe2"<10、ios::out11、ios::app);if(file3.fail()){cout<<"不能打开文件:"<<"exe3"<12、协议模拟实验";cout<<"ttt1随机产生字符ttt2接收ttt3退出"<>choice;switch(choice){case'1':for(i=0;i<100;i++)//随机产生字符{array[i]='a'+rand()%26;cout<13、文件中."<14、ios::out15、ios::app);fil
10、ios::out
11、ios::app);if(file3.fail()){cout<<"不能打开文件:"<<"exe3"<12、协议模拟实验";cout<<"ttt1随机产生字符ttt2接收ttt3退出"<>choice;switch(choice){case'1':for(i=0;i<100;i++)//随机产生字符{array[i]='a'+rand()%26;cout<13、文件中."<14、ios::out15、ios::app);fil
12、协议模拟实验";cout<<"ttt1随机产生字符ttt2接收ttt3退出"<>choice;switch(choice){case'1':for(i=0;i<100;i++)//随机产生字符{array[i]='a'+rand()%26;cout<13、文件中."<14、ios::out15、ios::app);fil
13、文件中."<14、ios::out15、ios::app);fil
14、ios::out
15、ios::app);fil
此文档下载收益归作者所有