基于UDP协议网上聊天程序 课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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相对较小。

相关文档
最新文档