基于UDP协议网上聊天程序 课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于UDP协议网上聊天程序课程设计
湖南工业大学
课程设计
资料袋
计算机与通信学院学院(系、部)2013 ~ 2014 学年第 1 学期
课程名称网络协议分析指导教师李建设职称副教授
学生姓名专业班级网络工程学号
题目基于UDP协议网上聊天程序
成绩起止日期2013 年11 月25 日~2013 年12 月13 日
目录清单
序号材料名称资料数量备注
1 课程设计任务书
2 课程设计说明书
3
4
5
6
课程设计任务书
2013 —2014学年第1 学期
学院(系、部)计算机与通信学院专业网络工程班级102
课程名称:网络工程学生姓名:
设计题目:基于UDP协议网上聊天程序指导教师:李建设
完成期限:自2013 年11 月25 日至2013 年12 月13 日共 3 周
内容及任务一、设计内容
实现一个基于UDP协议的简单的聊天程序,包括服务器和客户端。
1.支持多人聊天。
2.客户端具有图形化用户界面。
二、设计任务
课程设计说明书(纸质+电子版),内容包括:设计内容、系统分析(包括可行性分析、需求分析等)及功能分析;系统设计(要求画出系统整体功能框图、流程图、并给出相应地关键的代码且对所使用的主要数据结构进行说明等。)、设计总结(评价/遇到的问题/体会/建议等)、使用说明等。
三、设计要求
1.按功能要求开发系统,能正确运行。程序代
码书写规范,有充足的注释。
2.课程设计所使用的编程语言任选,但建议使
用C或C++;
3.绿色软件:程序运行不需安装,避免写系统
和注册表;
进度安排
起止日期工作内容
2013-11-25~
2013-11-30
选题
2013-12-1~2
013-12-3
系统分析和设计;
2013-12-4~2
013-12-8
熟悉软件开发工具、编码系统、
系统测试
2013-12-9~2
013-12-13
撰写并提交课程设计说明书(含
电子文档)、源程序等。
主要参考资料
[1] (美)W.Rechard Steven著,范建华等译,《TCP/IP详解》卷1:协议,机械工业出版社, 2000.4
[2](美)Douglas er著,林瑶等译,《用TCP/IP进行网际互联》第1卷-原理、协议与结构(第5版, 电子工业出版社)2007.2;
[3] (荷) Andrew S.Tanenbaum著,潘爱民译. 《计算机网络》(第4版),清华大学出版社, 2004 [4]谢希仁著.《计算机网络》((第5版) ,电子工业出版社, 2008.1
[5]吴功宜等著.《计算机网络课程设计》,机械工业出版社,2005
指导教师(签字):
年月日
系(教研室)主任(签字):年月日
课程设计说明书
课程名称:网络协议分析
设计题目:基于UDP协议网上聊天程序
专业:班级:
学生姓名: 学号:
指导教师:李建设
2013年12 月13 日
目录
1 课程设计简介 (4)
1.1 课程设计的目的 (4)
1.2 课程设计内容 (4)
2课程设计实现过程 (5)
2.1 协议原理 (5)
2.2 客户机/服务器模式 (7)
2.3 关键技术 (8)
2.4 流程图 (10)
2.5 系统结构图 (11)
2.6 程序调试及界面效果图 (11)
2.7 源代码 (15)
3设计总结 (22)
4参考文献 (23)
1 课程设计简介
1.1 课程设计的目的
开发一个专用于实现两台计算机之间即时通讯的软件,以方便两台或两台以上的计算机之间信息的交流。,在连接并通信时,尤其是近程的即时通讯,彻底的脱离了远程的服务器,避免了和远程服务器连接时过多的浪费网络资源。并且避免了服务器忙或与服务器无法连接时,浪费过多时间用于和服务器建立连接!因此,这个软件是极具适应性和实用性的即时通讯软件!本次课程设计的目的是学习基于UDP协议实现网络聊天程序,已达到学会面向无连接方式的程序设计方法,并理解网络编程中面向无连接的概念。
1.2 课程设计内容
1.实现一个基于UDP协议的简单的聊天程序,包括服务器和客户端。
2.支持多人聊天。
3.客户端具有图形化用户界面。
2课程设计实现过程
2.1 协议原理
UDP协议的全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天UDP仍然不失为一项非常实用和可行的网络传输层协议。
UDP是OSI参考模型中一种无连接的传输层协议,它主要用于不要求分组顺序到达的传输中,分组传输顺序的检查与排序由应用层完成,提供面向事务的简单不可靠信息传送服务。UDP 协议基本上是IP协议与上层协议的接口。UDP协议适用端口分别运行在同一台设备上的多个应用程序。
与所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP(网际协议)协议的顶层。根据OSI(开放系统互连)参考模型,UDP和TCP都属于传输层协议。
UDP协议的主要作用是将网络数据流量压缩成数据包的形式。一个典型的数据包就是一个二进制数据的传输单位。每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。
UDP是无连接的,即发送数据之前不需要建立连接(当然发送数据结束时也没有连接可释放)因此减少了开销和发送数据之前的时延。
UDP使用的是尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
UDP是面向报文的。发送方的UDP对应程序交下来的报文,在添加首部后就向下交付给IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。
UDP是定义用来在互连网络环境中提供数据报交换的计算机通信的协议。此协议默认是IP下层协议。此协议提供了向另一用户程序发送信息的最简便的协议机制,不需要连接确认和保护复制,所以在软件实现上比较简单,需要的内存空间比起TCP相对较小。