CSU通信网原理课程设计报告书

上传人:cn****1 文档编号:508648765 上传时间:2024-02-13 格式:DOC 页数:49 大小:581KB
返回 下载 相关 举报
CSU通信网原理课程设计报告书_第1页
第1页 / 共49页
CSU通信网原理课程设计报告书_第2页
第2页 / 共49页
CSU通信网原理课程设计报告书_第3页
第3页 / 共49页
CSU通信网原理课程设计报告书_第4页
第4页 / 共49页
CSU通信网原理课程设计报告书_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《CSU通信网原理课程设计报告书》由会员分享,可在线阅读,更多相关《CSU通信网原理课程设计报告书(49页珍藏版)》请在金锄头文库上搜索。

1、中南大学通信网原理课程设计报告班 级:姓 名:学 号:指导老师:实验地点:完成日期:电子信息工程系信息科学与工程学院目录第一部分:课程设计的目的与任务 . 0一、课程设计的目的 . 0二、课程设计的主要任务. 0第二部分:滑动窗口协议仿真. 1一、课程设计目的及要求 . 1二、设计思想 . 1三、设计流程图 . 1四、开发环境 . 3五、关键代码分析. 3六、仿真运行 . 9第三部分:网络即时通讯程序. 11一、 课程设计目的及要求 . 11二、 设计思想 . 11三、设计流程图 . 12四、开发环境 . 13五、关键代码分析. 13六、运行与调试 . 20第四部分:课程设计心得体会. 23第

2、五部分:参考文献 . 24第六部分:附录 . 24一、 滑动窗口协议仿真. 24二、 网络即时通讯程序. 33第一部分:课程设计的目的与任务一、课程设计的目的 通信网原理课程设计是为电子信息工程专业本科生开设的必修 课,有 2 学分,既是对通信网原理课程实验教学环节的补充, 又是一门实践性很强的综合强化训练课程。计算机网络或 Internet 网已成为现代最重要的通信网,未来各 种通信网都将以计算机网络和 IP 协议为核心实现互连互通。因此, 本课程设计的主要任务是在掌握计算机网络 TCP/IP 等典型协议原理 的基础上, 通过编程设计对网络协议或算法进行模拟实现, 并应用相 应网络协议来开发

3、一个网络应用系统。 其目的是通过将理论与实践相 结合,使学生进一步深入理解通信网的工作原理, 掌握网络应用开发 技术,学会应用所学理论知识来分析和解决实际问题, 培养网络技术 研究与开发的基本能力以及创新精神。二、课程设计的主要任务通过本课程教学,要求学生熟悉 TCP/IP 协议工作机制、熟悉基 于Socket的网络通信程序的设计方法,熟练掌握至少一种编程语言 及工具的使用。 通过设计和调试有关程序, 掌握一种网络协议或算法 的编程实现方法或具体应用,同时设计一个相对独立的网络应用程 序。第二部分:滑动窗口协议仿真一、课程设计目的及要求1、程序按照滑动窗口协议实现端对端的数据传送。包括协议的各

4、种 策略,如包丢失、停等应答、超时等都应有所仿真实现。2、显示数据传送过程中的各项具体数据;双方帧的个数变化,帧序 号,发送和接受速度,暂停或重传提示等。3、增加其它附加创新功能。二、设计思想滑动窗口协议是TCP使用的一种流量控制方法。本次课程设计模 拟仿真1比特滑动窗口协议,即停等协议。该协议规定,发送方每发 送一帧后就要停下来, 等待收到接收方正确接受的确定后再继续发送 下一帧。 如果在规定的最大时延内没有收到接收方的确认信号, 则重 新发送该帧。 为了确认每次发送的帧是以前发过的还是新发送的, 接 收方需要发送方对每一帧加一个编号。 由于停等协议规定只有一帧确 认发送完成后才可以发送下一

5、帧,因而只用一比特来编号就可以了。三、设计流程图发送方接收方最大时延处理时间新数据或重发数据四、开发环境Window7,VC+五、关键代码分析1、定义及初始化守法窗口typedef struct /* 接收窗口 */int rMAXSIZE;int front;int rear;wrece;void Init(wsend *ws,wrece *wr) /* 对发送和接收窗口进行初始化 */ws-front=ws-rear=0;wr-front=wr-rear=0;2、说明发送窗口的发送情况int SEND(wsend *ws,wrece *wr,int frame)发送窗若窗口若窗口不if(w

6、s-rear+1)%MAXSIZE=ws-front)return 0; /*口已满 */if(ws-front=ws-rear) /* 为空,则直接进入 */ws-sws-rear.snum=frame; ws-sws-rear.timeout=1; ws-rear=(ws-rear+1)%MAXSIZE; wr-rwr-rear=frame; wr-rear=(wr-rear+1)%MAXSIZE; return 1;else /* 为空,则判断是否是可传送的帧 */if(frame=(ws-sws-rear-1.snum)+1) ws-sws-rear.snum=frame; ws-sw

7、s-rear.timeout=1; ws-rear=(ws-rear+1)%MAXSIZE; wr-rwr-rear=frame; wr-rear=(wr-rear+1)%MAXSIZE;return 1;else if(framesws-rear-1.snum)+1)printf(该 帧 已发送! n);else if(frame(ws-sws-rear-1.snum)+1)printf(该 帧 不可发送! ! n);3、说明接受窗口的接受情形int RECE(wrece *wr,int frame,int ack)if(wr-front=wr-rear) return 0;/*接收窗口为空

8、 */else /* 接收窗口接收帧 号,并返回确认 */if(wr-rwr-front=frame)wr-front=(wr-front+1)%MAXSIZE;printf(”第%d帧出接收窗口,向发送窗口返回确认。n,frame);acki=frame;else printf( 该帧不是期望收到的帧,舍弃。 n); return 1;int ACKNOWLEDGE(wsend *ws,int ack)int j;发送窗口为空 */发送窗口进行if(ws-front=ws-rear) return 0; /*if(ack0=ws-sws-front.snum) /*确认处理 */ws-fro

9、nt=(ws-front+1)%MAXSIZE;for(j=0;jfront;b=wr-front;printf( 发送窗口 :);while(arear)printf(%3d ,ws-sa); a+;printf(n);printf( 接收窗口 :);while(brear)printf(%3d ,wr-rb);b+;printf(n);4、接受错误要求重新发送main()int frame,a,flag=O;/*frame帧号,a 指向窗口当前位置, flag 是否有重发( 0 没有, 1 有)*/int err;char end=n,ch,ACK;int ack5;/*定义一个可存储 5

10、 个确认信息的*/wsend *ws;wrece *wr;ws=(wsend *)malloc(sizeof(wsend);wr=(wrece *)malloc(sizeof(wrece);Init(ws,wr);printf( 程序开始运行 n);while(end!=y&end!=Y)/* 传送处理 */ a=ws-front;while(arear)if(ws-sa.timeout=6)ws-sa.timeout=1;flag=1;prin tf(重发第 小帧n ,ws-sa);else ws-sa.timeout+;a+;if(flag=0)printf( 请输入需传送的帧号 (0 代

11、表不输入 ):);scanf(%d,&frame);if(frame!=0)err=SEND(ws,wr,frame);if(err=0)printf( 发送窗口已满! n);printf( 接 收 窗 口 期 待 接 收 到 的 帧 号为:dn,wr-rwr-fro nt);六、仿真运行 C:UsersV一1 1认 确 2:0不动 移 后 向r HV 口 alii:s号到号* 帧收帧亠a认 行送到 殆需口 H脈午口口 口朿需口 i.su 口束开人窗、紀进窗笆塞、人窗、人一 jri输ID否送送收 否王土冃亠漫青赛!亠多p 注圭F3亠学冃亠灌汪2 3 入入 输:2输。 裘号審0 hj 05-:

12、号到昌的zn 帧收药3 :n的蕃收?! /nwl! 2 :第三部分:网络即时通讯程序一、课程设计目的及要求1、用户登录功能:客户端登录到聊天服务器,服务器管理所有登录 的客户,并将客户列表及状态发送到各个客户端显示;2、用户呼叫功能:用户可通过客户端向服务器发起呼叫请求;服务 器搜索被呼叫的用户, 如果检测到此用户处于在线状态, 则通知此用 户的客户端程序; 当被叫用户做出响应后, 在主叫方和被叫方之间建 立连接,双方就可以聊天或进行媒体流传输;3、用户消息也可以通过服务器转发,实现一对一和多对多聊天;4、增加其它附加创新功能。二、设计思想 实现网络即时通讯的基本思想是由客户端将信息发送到服务

13、器 端,然后由服务器端判断将信息发往某个特定的用户还是所有用户。为实现用户登录功能,可以建立一个用户信息的数据库或文件, 来实现用户的登录或注册。用户聊天功能的实现需要在用户登录进入聊天室时建立一个链 接,该链接由服务器端监控, 由此来实现用户在线数量的控制和在线 人数的显示。 当某一用户发起对另一用户的聊天请求时, 由服务器端 判断该用户是否在线, 规定只能向在线用户发送消息。 若该用户在线, 则将发送用户发送来的消息通过链接转发到接收用户的客户端上, 由 客户端显示。 如果发送用户发送的消息是对所有人的, 则将该消息转 发至所有人。从而发言通过对其链接的屏蔽,踢出用户则是由服务端断开其链接, 达到踢出某用户的目的。三、设计流程图四、开发环境Window7,SQL ser

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号