基于UDP协议的网络聊天程序设计计算机网络信息安全_计算机-网络信息安全.pdf
《基于UDP协议的网络聊天程序设计计算机网络信息安全_计算机-网络信息安全.pdf》由会员分享,可在线阅读,更多相关《基于UDP协议的网络聊天程序设计计算机网络信息安全_计算机-网络信息安全.pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于 UDP协议的网络聊天程序设计 基于 UDP协议网络聊天程序设计 学生姓名:XX 指导老师:XX 摘 要 本课程设计是是基于 UDP 协议网络聊天程序设计,UDP 协议是无连接协议,是 TCP/IP 协议一种分层协议。通过本设计进一步掌握利用 Visual C+进行程序设计能力和运用面向对象程序设计思想和方法,初步掌握开发一个小型实用系统基本方法,理解 Windows 程序运行过程。本设计实现聊天工具要求在Microsoft Visual C+6.0上,编写一个程序,采用C/S 模式,模拟网络上聊天软件,实现在局域网上两台主机之间通信。且经过测试,该聊天程序能够正常运行,实现了设计目标。关
2、键词 UDP 协议;客户机/服务器;网络聊天 1 引 言 现在是网络世界,网络发展不可估量了,它可以包括我们生活中方方面面,小到上网浏览新闻、上网购物,大到网上理财、网上会议,可以说网络把我们世界变小了,即使在海角天边,只要有网络地方我们就可以随时联系。最简单形式就是进行网络聊天了,比如 QQ、MSN 等等很简单聊天工具,可以随时拉近你我距离。本设计将基于 UDP 协议和局域网环境,实现一个即时聊天程序。1.1 本文主要内容 本文第二节介绍了 UDP协议和客户机/服务器模式基本原理,第三节详基于 UDP协议的网络聊天程序设计 细描述了设计思路和流程,第四节为本次课程设计总结。1.2 设计平台
3、Microsoft Visual C+6.0,简称 VC 或者 VC6.0,是微软推出一款 C+编译器,将“高级语言”翻译为“机器语言(低级语言)”程序。Visual C+是一个功能强大可视化软件开发工具。自 1993 年 Microsoft 公司推出 Visual C+1.0 后,随着其新版本不断问世,Visual C+已成为专业程序员进行软件开发首选工具。虽然微软公司推出了 Visual C+.NET(Visual C+7.0),但它应用有很大局限性,只适用于 Windows 2000、Windows XP 和 Windows NT4.0。所以实际中,更多是以Visual C+6.0 为平
4、台。Visual C+6.0 由 Microsoft 开发,它不仅是一个 C+编译器,而且是一个基 于 Windows操 作 系 统 可 视 化 集 成 开 发 环 境(integrated development environment,IDE)。Visual C+6.0 由许多组件组成,包括编辑器、调试器以及程序向导 AppWizard、类向导 Class Wizard 等开发工具。这些组件通过一个名为 Developer Studio 组件集成为和谐开发环境。Microsoft 主力软件产品。Visual C+是一个功能强大可视化软件开发工具。自 1993 年 Microsoft 公司推
5、出 Visual C+1.0 后,随着其新版本不断问世,Visual C+已成为专业程序员进行软件开发首选工具。虽然微软公司推出了 Visual C+.NET(Visual C+7.0),但它应用很大局限性,只适用于 Windows 2000,Windows XP和 Windows NT4.0。所以实际中,更多是以 Visual C+6.0 为平台。2 设计原理 天程序设计协议是无连接协议是协议一种分层协议通过本设计进一步掌握利用进行程序设计能力和运用面向对象程序设计思想和方法初步掌握开发一个小型实用系统基本方法理解程序运行过程本设计实现聊天工具要求在上编写一个设计目标关键词协议客户机服务器网
6、络聊天引言现在是网络世界网络发展不可估量了它可以包括我们生活中方方面面小到上网浏览新闻上网购物大到网上理财网上会议可以说网络把我们世界小了即使在海角天边只要有网络地方我们议和局域网环境实现一个即时聊天程序本文主要内容本文第二节介绍了协议和客户机服务器模式基本原理第三节详基于协议的网络聊天程序设计细描述了设计思路和流程第四节为本次课程设计总结设计平台简称或者是微软推出一款基于 UDP协议的网络聊天程序设计 2.1 UDP协议原理 UDP 协议全称是用户数据报协议,在网络中它与 TCP 协议一样用于处理数据包,是一种无连接协议。在 OSI 模型中,在第四层传输层,处于 IP 协议上一层。UDP 有
7、不提供数据包分组、组装和不能对数据包进行排序缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达。UDP 用来支持那些需要在计算机之间传输数据网络应用。包括网络视频会议系统在内众多客户/服务器模式网络应用都需要使用UDP 协议。UDP 协议从问世至今已经被使用了很多年,虽然其最初光彩已经被一些类似协议所掩盖,但是即使是在今天 UDP 仍然不失为一项非常实用和可行网络传输层协议。UDP 是 OSI 参考模型中一种无连接传输层协议,它主要用于不要求分组顺序到达传输中,分组传输顺序检查与排序由应用层完成,提供面向事务简单不可靠信息传送服务。UDP 协议基本上是 IP 协议与上层协议接口。UD
8、P 协议适用端口分别运行在同一台设备上多个应用程序。与所熟知 TCP(传输控制协议)协议一样,UDP 协议直接位于 IP(网际协议)协议顶层。根据 OSI(开放系统互连)参考模型,UDP 和 TCP 都属于传输层协议。UDP 协议主要作用是将网络数据流量压缩成数据包形式。一个典型数据包就是一个二进制数据传输单位。每一个数据包前 8 个字节用来包含报头信息,剩余字节则用来包含具体传输数据。UDP 是无连接,即发送数据之前不需要建立连接(当然发送数据结束时也没有连接可释放)因此减少了开销和发送数据之前时延。UDP 使用是尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂连接状态表。UDP 是
9、面向报文。发送方 UDP 对应程序交下来报文,在添加首部后就向下交付给 IP 层。UDP 对应用层交下来报文,既不合并,也不拆分,而是保留这些报文边界。UDP 是定义用来在互连网络环境中提供数据报交换计算机通信协议。此协议默认是 IP 下层协议。此协议提供了向另一用户程序发送信息最简便协议机制,不需要连接确认和保护复制,所以在软件实现上比较简单,需要内存空间比起天程序设计协议是无连接协议是协议一种分层协议通过本设计进一步掌握利用进行程序设计能力和运用面向对象程序设计思想和方法初步掌握开发一个小型实用系统基本方法理解程序运行过程本设计实现聊天工具要求在上编写一个设计目标关键词协议客户机服务器网络
10、聊天引言现在是网络世界网络发展不可估量了它可以包括我们生活中方方面面小到上网浏览新闻上网购物大到网上理财网上会议可以说网络把我们世界小了即使在海角天边只要有网络地方我们议和局域网环境实现一个即时聊天程序本文主要内容本文第二节介绍了协议和客户机服务器模式基本原理第三节详基于协议的网络聊天程序设计细描述了设计思路和流程第四节为本次课程设计总结设计平台简称或者是微软推出一款基于 UDP协议的网络聊天程序设计 TCP 相对较小。UDP 包头由 4 个域组成,其中每个域各占用 2 个字节。(1)源端口号(16 位):UDP 数据包发送方使用端口号。(2)目标端口号(16 位):UDP 数据包接收方使用端
11、口号。UDP 协议使用端口号为不同应用保留其各自数据传输通道。UDP 和 rap 协议正是采用这一机制,实现对同一时刻内多项应用同时发送和接收数据支持。(3)数据报长度(16 位)。数据报长度是指包括报头和数据部分在内总字节数。理论上,包含报头在内数据包最大长度为 65535 字节。不过,一些实际应用往往会限制数据包大小,有时会降低到 8192 字节。(4)校验值(16 位)。UDP 协议使用包头中校验值来保证数据安全。2.2 客户机/服务器模式 由于这次课程设计是实现点到点可靠连接,所以在此使用 UDP 连接方式。在这个连接中,双方分为客户和服务器,他们各自功能不同。客户机一方,UDP 应用
12、程序功能如下:(1)打开通信信道(申请一套接字),并连接到服务器在主机保留端口,该端口对应服务器 UDP 进程。(2)向服务器发出请求报文,等待接收应答。(3)从服务器方收到最终应答结果,或在不再请求时关闭信道并终止客户机进程。服务器一方,UDP 应用程序动作如下:(1)打开通信信道(申请一套接字),通知本地主机在某一保留端口接收客户机请求。(2)等待客户请求到达指定端口。(3)接收到请求,启动一新进程处理用户请求,同时释放旧进程以响应新客户请求,一旦服务完成,关闭新进程与客户通信链路。(4)继续等待客户机请求。(5)如果不想响应客户机请求,关闭服务器进程。天程序设计协议是无连接协议是协议一种
13、分层协议通过本设计进一步掌握利用进行程序设计能力和运用面向对象程序设计思想和方法初步掌握开发一个小型实用系统基本方法理解程序运行过程本设计实现聊天工具要求在上编写一个设计目标关键词协议客户机服务器网络聊天引言现在是网络世界网络发展不可估量了它可以包括我们生活中方方面面小到上网浏览新闻上网购物大到网上理财网上会议可以说网络把我们世界小了即使在海角天边只要有网络地方我们议和局域网环境实现一个即时聊天程序本文主要内容本文第二节介绍了协议和客户机服务器模式基本原理第三节详基于协议的网络聊天程序设计细描述了设计思路和流程第四节为本次课程设计总结设计平台简称或者是微软推出一款基于 UDP协议的网络聊天程序
14、设计 3设计步骤 3.1 总体设计思路 基于 UDP 协议通信和基于 TCP 协议通信不同,基于 UDP 消息传递更快,但不提供可靠性保证。也就是说,数据在传递时候,用户无法知道数据能否正确到达目地主机,也不能确定数据到达目地顺寻是否和发送顺序相同。系统采用是客户端/服务器工作模式,所以应有客户端和服务器两个类,其中客户端向服务器请求服务。而基于UDP 通信基本模式是:将数据打包,称为数据包,然后将数据包发往目地。接受别人发来数据包,然后查看数据包内容。3.2 功能模块调用流程设计:服务器 客户端 天程序设计协议是无连接协议是协议一种分层协议通过本设计进一步掌握利用进行程序设计能力和运用面向对
15、象程序设计思想和方法初步掌握开发一个小型实用系统基本方法理解程序运行过程本设计实现聊天工具要求在上编写一个设计目标关键词协议客户机服务器网络聊天引言现在是网络世界网络发展不可估量了它可以包括我们生活中方方面面小到上网浏览新闻上网购物大到网上理财网上会议可以说网络把我们世界小了即使在海角天边只要有网络地方我们议和局域网环境实现一个即时聊天程序本文主要内容本文第二节介绍了协议和客户机服务器模式基本原理第三节详基于协议的网络聊天程序设计细描述了设计思路和流程第四节为本次课程设计总结设计平台简称或者是微软推出一款基于 UDP协议的网络聊天程序设计 图 3.1 程序设计流程图 其中,服务器端:Socke
16、t(),建立流式套接字;Bind(),将套接字和服务器地址结构绑定;ReceiveFrom()/SendTo(),在套接字上接收/发送数据;Close(),关闭套接字。客户端与服务器端同理。3.3 基于 UDP网络聊天程序实现 3.3.1 基于 UDP 聊天程序服务器端源程序:双向 通信 Socket()Bind()ReceiveFrom()/SendTo()Close()Socket()Bind()ReceiveFrom()/SendTo()Close()天程序设计协议是无连接协议是协议一种分层协议通过本设计进一步掌握利用进行程序设计能力和运用面向对象程序设计思想和方法初步掌握开发一个小型实
17、用系统基本方法理解程序运行过程本设计实现聊天工具要求在上编写一个设计目标关键词协议客户机服务器网络聊天引言现在是网络世界网络发展不可估量了它可以包括我们生活中方方面面小到上网浏览新闻上网购物大到网上理财网上会议可以说网络把我们世界小了即使在海角天边只要有网络地方我们议和局域网环境实现一个即时聊天程序本文主要内容本文第二节介绍了协议和客户机服务器模式基本原理第三节详基于协议的网络聊天程序设计细描述了设计思路和流程第四节为本次课程设计总结设计平台简称或者是微软推出一款基于 UDP协议的网络聊天程序设计/创建套接字/第二个参数和 TCP 设置不同 SOCKET sockSrv=socket(AF_I
18、NET,SOCK_DGRAM,0);SOCKADDR_IN addrSrv;/设置服务器端套接字地址结构相关属性 addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);/设置 IP addrSrv.sin_port=htons(20000);/设置端口号 addrSrv.sin_family=AF_INET;/将套接字和服务器地址结构绑定 bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR);char recvBuf100;char sendBuf100;char tempBuf100;SOCKADDR_IN
19、 addrClient;int len=sizeof(SOCKADDR);/从客户端接收数据 recvfrom(sockSrv,recvBuf,100,0,(SOCKADDR*)&addrClient,&len);if(q=recvBuf0)sendto(sockSrv,q,strlen(q)+1,0,(SOCKADDR*)&addrClient,len);cout chart end endl;break;/退出循环 /将对方发送过来信息前段加上 IP 地址进行输出 sprintf(tempBuf,%s say%sn,inet_ntoa(addrClient.sin_addr),recvBu
20、f);cout tempBuf endl;天程序设计协议是无连接协议是协议一种分层协议通过本设计进一步掌握利用进行程序设计能力和运用面向对象程序设计思想和方法初步掌握开发一个小型实用系统基本方法理解程序运行过程本设计实现聊天工具要求在上编写一个设计目标关键词协议客户机服务器网络聊天引言现在是网络世界网络发展不可估量了它可以包括我们生活中方方面面小到上网浏览新闻上网购物大到网上理财网上会议可以说网络把我们世界小了即使在海角天边只要有网络地方我们议和局域网环境实现一个即时聊天程序本文主要内容本文第二节介绍了协议和客户机服务器模式基本原理第三节详基于协议的网络聊天程序设计细描述了设计思路和流程第四节
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 UDP 协议 网络 聊天 程序设计 计算机网络 信息 安全 计算机
限制150内