CSU通信网原理课程设计odn.docx
《CSU通信网原理课程设计odn.docx》由会员分享,可在线阅读,更多相关《CSU通信网原理课程设计odn.docx(75页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、中南大学学通信网原原理课程程设计报报告班级:姓名:学号:指导老师师:实验地点点:完成日期期:电子信息息工程系系信息科学学与工程程学院目 录第一部分分:课程程设计的的目的与与任务11一、课程程设计的的目的11二、课程程设计的的主要任任务1第二部分分:滑动动窗口协协议仿真真2一、 课课程设计计目的及及要求22二、 设设计思想想2三、 设设计流程程图2四、 开开发环境境4五、 关关键代码码分析44六、 仿仿真运行行10第三部分分:网络络即时通通讯程序序12一、 课课程设计计目的及及要求112二、 设设计思想想12三、 设设计流程程图133四、 开开发环境境14五、 关关键代码码分析114六、 运运行
2、与调调试200第四部分分:课程程设计心心得体会会23第五部分分:参考考文献224第六部分分:附录录24一、 滑滑动窗口口协议仿仿真244二、 网网络即时时通讯程程序333第一部分分:课程程设计的的目的与与任务一、课程程设计的的目的 通信网网原理课课程设计计是为电电子信息息工程专专业本科科生开设设的必修修课,有有2 学学分,既既是对通通信网原原理课课程实验验教学环环节的补补充,又又是一门门实践性性很强的的综合强强化训练练课程。计算机网网络或IInteerneet 网网已成为为现代最最重要的的通信网网,未来来各种通通信网都都将以计计算机网网络和IIP 协协议为核核心实现现互连互互通。因因此,本本课
3、程设设计的主主要任务务是在掌掌握计算算机网络络TCPP/IPP 等典典型协议议原理的的基础上上,通过过编程设设计对网网络协议议或算法法进行模模拟实现现,并应应用相应应网络协协议来开开发一个个网络应应用系统统。其目目的是通通过将理理论与实实践相结结合,使使学生进进一步深深入理解解通信网网的工作作原理,掌掌握网络络应用开开发技术术,学会会应用所所学理论论知识来来分析和和解决实实际问题题,培养养网络技技术研究究与开发发的基本本能力以以及创新新精神。二、 课程设计计的主要要任务通过本课课程教学学,要求求学生熟熟悉TCCP/IIP 协协议工作作机制、熟熟悉基于于Socckett 的网网络通信信程序的的设
4、计方方法,熟熟练掌握握至少一一种编程程语言及及工具的的使用。通通过设计计和调试试有关程程序,掌掌握一种种网络协协议或算算法的编编程实现现方法或或具体应应用,同同时设计计一个相相对独立立的网络络应用程程序。第二部分分:滑动动窗口协协议仿真真一、 课程设计计目的及及要求1、 程序按照照滑动窗窗口协议议实现端端对端的的数据传传送。包包括协议议的各种种策略,如如包丢失失、停等等应答、超超时等都都应有所所仿真实实现。2、 显示数据据传送过过程中的的各项具具体数据据;双方方帧的个个数变化化,帧序序号,发发送和接接受速度度,暂停停或重传传提示等等。3、 增加其它它附加创创新功能能。二、 设计思想想滑动窗口口
5、协议是是TCPP使用的的一种流流量控制制方法。本次课程设计模拟仿真1比特滑动窗口协议,即停等协议。该协议规定,发送方每发送一帧后就要停下来,等待收到接收方正确接受的确定后再继续发送下一帧。如果在规定的最大时延内没有收到接收方的确认信号,则重新发送该帧。为了确认每次发送的帧是以前发过的还是新发送的,接收方需要发送方对每一帧加一个编号。由于停等协议规定只有一帧确认发送完成后才可以发送下一帧,因而只用一比特来编号就可以了。三、 设计流程程图新数据或重发数据处理时间最大时延确认信号发送数据接收方发送方四、 开发环境境Winddow77,VCC+五、 关键代码码分析1、 定义及初初始化守守法窗口口typ
6、eedeff sttrucct /*接收窗窗口*/int rMMAXSSIZEE;int froont;int reaar;wreece;voidd Innit(wseend *wss,wrrecee *wwr) /*对发送送和接收收窗口进进行初始始化*/ws-froont=ws-reear=0;wr-froont=wr-reear=0;2、 说明发送送窗口的的发送情情况int SENND(wwsennd *ws,wreece *wrr,innt fframme)if(ws-reear+1)%MAXXSIZZE=ws-frrontt)reeturrn 00; /*发送窗窗口已满满*/if(ww
7、s-froont=wss-rrearr) /*若窗口口为空,则则直接进进入*/ws-swws-reaar.snuum=fframme;ws-swws-reaar.timmeouut=11;ws-reaar=(ws-reear+1)%MAXXSIZZE;wr-rwwr-reaar=fraame;wr-reaar=(wr-reear+1)%MAXXSIZZE;retuurn 1;elsee /*若窗窗口不为为空,则则判断是是否是可可传送的的帧*/ if(fframme=(wss-sswss-rrearr-1.snnum)+1)ws-swws-reaar.snuum=fframme;ws-swws-
8、reaar.timmeouut=11;ws-reaar=(ws-reear+1)%MAXXSIZZE;wr-rwwr-reaar=fraame;wr-reaar=(wr-reear+1)%MAXXSIZZE;retuurn 1;elsee iff(frrameeswws-reaar-11.ssnumm)+11)prrinttf(该帧已已发送!nn);elsee iff(frramee(wws-swws-reaar-11.ssnumm)+11)prrinttf(该帧不不可发送送!n);3、 说明接受受窗口的的接受情情形int RECCE(wwrecce *wr,intt frramee,innt
9、 aack)if(wwr-froont=wrr-rrearr) rretuurn 0; /*接接收窗口口为空*/elsee /*接接收窗口口接收帧帧号,并并返回确确认*/if(wwr-rwwr-froont=fframme) wr-froont=(wrr-ffronnt+11)%MMAXSSIZEE;prinntf(第%d帧出出接收窗窗口,向向发送窗窗口返回回确认。n,fraame);acki=fraame;i+;elsee priintff(该该帧不是是期望收收到的帧帧,舍弃弃。nn);retuurn 1;int ACKKNOWWLEDDGE(wseend *wss,innt aack)in
10、t j;if(wws-froont=wss-rrearr) rretuurn 0; /*发送窗窗口为空空*/if(aack0=wss-sswss-ffronnt.snuum) /*发送窗窗口进行行确认处处理*/ws-froont=(wss-ffronnt+11)%MMAXSSIZEE;for(j=00;jffronnt;b=wrr-ffronnt;prinntf(发送送窗口:);whille(aarrearr)prinntf(%33d ,wss-ssa);a+;prinntf(nn);prinntf(接收收窗口:);whille(bbrrearr)prinntf(%33d ,wrr-rrb);
11、b+;prinntf(nn);4、 接受错误误要求重重新发送送mainn()int fraame,a,fflagg=0; /*fraame帧帧号,aa指向窗窗口当前前位置,fflagg是否有有重发(00没有,11有)*/ int errr;charr ennd=n,ch,ACKK;int ackk5; /*定义一一个可存存储5个个确认信信息的*/wsennd *ws;wrecce *wr;ws=(wseend *)mmallloc(sizzeoff(wssendd);wr=(wreece *)mmallloc(sizzeoff(wrrecee);Initt(wss,wrr);prinntf(程
12、序序开始运运行nn);whille(eend!=yy&endd!=Y)/*传送送处理*/a=wss-ffronnt; whhilee(areear)if(wws-saa.ttimeeoutt=66) ws-saa.ttimeeoutt=1;flagg=1;prinntf(重发发第%dd帧nn,wws-saa);elsee wss-ssa.tiimeoout+;a+;if(fflagg=00)prinntf(请输输入需传传送的帧帧号(00代表不不输入):);scannf(%d,&fframme);if(fframme!=0)err=SENND(wws,wwr,fframme);if(eerr=0
13、)priintff(发发送窗口口已满!n);prinntf(接收收窗口期期待接收收到的帧帧号为:%dn,wr-rwr-frrontt);六、 仿真运行行第三部分分:网络络即时通通讯程序序一、 课程设计计目的及及要求1、 用户登录录功能:客户端端登录到到聊天服服务器,服服务器管管理所有有登录的的客户,并并将客户户列表及及状态发发送到各各个客户户端显示示;2、 用户呼叫叫功能:用户可可通过客客户端向向服务器器发起呼呼叫请求求;服务务器搜索索被呼叫叫的用户户,如果果检测到到此用户户处于在在线状态态,则通通知此用用户的客客户端程程序;当当被叫用用户做出出响应后后,在主主叫方和和被叫方方之间建建立连接接
14、,双方方就可以以聊天或或进行媒媒体流传传输;3、 用户消息息也可以以通过服服务器转转发,实实现一对对一和多多对多聊聊天;4、 增加其它它附加创创新功能能。二、 设计思想想实现网络络即时通通讯的基基本思想想是由客客户端将将信息发发送到服服务器端端,然后后由服务务器端判判断将信信息发往往某个特特定的用用户还是是所有用用户。为实现用用户登录录功能,可可以建立立一个用用户信息息的数据据库或文文件,来来实现用用户的登登录或注注册。用户聊天天功能的的实现需需要在用用户登录录进入聊聊天室时时建立一一个链接接,该链链接由服服务器端端监控,由由此来实实现用户户在线数数量的控控制和在在线人数数的显示示。当某某一用
15、户户发起对对另一用用户的聊聊天请求求时,由由服务器器端判断断该用户户是否在在线,规规定只能能向在线线用户发发送消息息。若该该用户在在线,则则将发送送用户发发送来的的消息通通过链接接转发到到接收用用户的客客户端上上,由客客户端显显示。如如果发送送用户发发送的消消息是对对所有人人的,则则将该消消息转发发至所有有人。其他创新新功能包包括了禁禁止某人人发言或或将某用用户踢出出聊天室室。禁止止发言通通过对其其链接的的屏蔽,踢踢出用户户则是由由服务端端断开其其链接,从从而达到到踢出某某用户的的目的。三、 设计流程程图退出登录踢出禁言服务器客户端建立链接并监听进入聊天室验证登录服务器端客户端四、 开发环境境
16、Winddow77,SQQL sservvicee20005,VVisuual Bassic五、 关键代码码分析1、 服务器设设置聊天天室最大大人数并并验证登登录Privvatee Suub CCommmandd1_CClicck() MaxxChaan = Vaal(TTextt1.TTextt)If MMaxCChann 1000 Thhen Texxt1.Texxt = Texxt1.SettFoccusElsee frmmSerrverr.Shhow Unlloadd MeeEnd IfEnd SubbPrivvatee Suub FFormm_Looad()Dim fillepaat
17、h As Strringg ssysffileepatth = fsso.GGetSSpecciallFollderr(1)If ffso.FilleExxistts(ssysffileepatth & Mswwinssck.ocxx) = TTruee Thhen Exiit SSubElsee MsggBoxx (Mswwinssck.ocxx不存在在!准备备安装.) If fsoo.FiileEExissts(Msswinnsckk.occx) = Truue TThenn Seet ffil = ffso.GettFille(Mswwinssck.ocxx) fiil.CCopyy (
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CSU 通信网 原理 课程设计 odn
限制150内