毕业设计(论文)网络实时聊天系统开发与设计.doc
《毕业设计(论文)网络实时聊天系统开发与设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)网络实时聊天系统开发与设计.doc(29页珍藏版)》请在三一办公上搜索。
1、网络实时聊天系统开发与设计摘要 随着现今计算机与英特网的飞速发展与普及,人与人之间的交流也随之越来越方便,使用网络聊天的人群也越来越大,人们对网络聊天的需求也日益显著。 本文主要提出网络实时聊天系统的开发与设计,是一个基于VC开发平台设计与实现的聊天系统。能实现基于VC+的网络实时聊天,本系统具有单独的客户端和服务器端。服务器应用程序能够接受来自客户端的广播,然后向客户端发送本机的IP与服务端口号,让大家能通过客户端接入到服务器进行聊天。服务器负责接收来自客户端的聊天信息,然后通过不同的IP发送给指定的地址,同时服务器还可以监听客户端的登录与退出。主要使用Windows Socket编程,建立
2、Client/Server模型,实现一个服务器和多个客户端的一对多模式,各个客户端之间实现相互的通信。关键字:Windows Socket、Client/Server、套接字、实时通信Abstract With the rapid development and popularization of the Internet and the computers.It will be more and more convenient of the communication between us .The use of network chat between people also beging
3、 more and more big, and people chatting on the network are more and more frequently.This paper mainly puts forward network real-time chat system development and design, was designed as a development platform based on VC design and implementation of the chat system.Can realize real-time chat based on
4、 vc + + network, this system has a single client and server. The server is responsible for receiving information from client chat, then through different IP sent to the designated address, the server can also monitored client login and exit. This chat system mainly uses Windows Socket programming,an
5、d set up a Client / Server model and implement a server and multiple client one-to-many model.So that each Client realize mutual communication between. Keywords: Windows Socket, Client / Server, Socket, real-time communication目录摘要IAbstractII目录III1 绪论11.1 系统现状11.2 本系统研究内容22 系统的开发环境与相关关键技术32.1 开发环境32.
6、2 相关关键技术32.2.1 Visual C+与面向对象程序设计32.2.2 TCP/IP协议、UDP协议52.2.3 M F C(Micrososft Fundation Classes,即微软的基本类库)62.2.4 Windows Socket 编程72.2.5 Client/Server结构(客户机/服务器模式)93 系统需求分析与设计开发103.1 系统需求分析103.2 系统设计113.2.1 设计原则113.2.2 工作流程113.2.3 功能设计124 系统的实现144.1 服务请求规范144.1.1 服务器端144.1.2 客户端144.2 主要模块的设计分析144.2.1
7、 客户端模块144.2.2 服务器端类结构184.3 系统运行效果194.3.1 服务器端效果图194.3.2 客户端效果图204.4 系统测试204.4.1 测试意义204.4.2 软件测试的目标224.4.3 软件测试的方法22总结24致谢25参考文献261 绪论近年来计算机技术的快速发展,特别是计算机网络的发展,越来越深刻的改变了人们生活的方方面面。使得人们能以更低廉的价格,开发出更方便、更实用的网络工具。各种在线服务系统,更是深刻的影响了人们的联系方式,使得人们可以在远隔千里之遥随时通讯。网上聊天系统是为人们进行交流和联系提供的一个平台。利用现代的网络资源优势和技术优势,通过提供完善的
8、网上聊天系统的管理,以达到增进人与人之间的信息交流和沟通的目的,并以此加快人们的信息化建设。在市场上,关于网上聊天室系统开发的软件有很多,本系统基于VC开发,通过套接字SOCKET实现,作为今后将从事软件开发的学生,即时了解和掌握流行的即时通讯机制并且应用到实践过程中,将极大的提高自己的设计和开发软件的积极性;提升自己的理论和技术水平,跟踪国内外最新的技术和开发模式,为以后类似的开发积累经验;同时,开发出来的作品也可以真正运用到实际当中。网络聊天室是当今广泛应用的一种网络服务, 它为广大网民提供了一种方便快捷的沟通方式, 在线聊天是上网的重要活动之一。1.1 系统现状文本方式聊天室: 基于We
9、b 的聊天室有其独特的优势。它不需要安装专门的软件,Web 浏览器就可以使用聊天服务;它集成在Web 服务器中,不需额外的硬件支持,便于广大中小型客户建设和使用。所以, 基于Web 的聊天室仍然被广泛采用。但是单纯聊天的一般内容比较单一,主要局限于角色认知过程中职业、地域、性别等方面的扩展,难以实现“ 失去他人注视的真实自我的展现”。 视频聊天室、语音聊天室、动画聊天室: 随着富媒体技术的广泛应用, 一种结合文本、语音和人脸动画或视频的三维语音视频聊天室在互联网上出现。复合聊天室: 典型代表是UC 聊天室, 它打破了传统IM软件主要用于文字通讯的单一模式, 将有声有色、图文并茂的场景融入聊天模
10、式, 加之视频电话、可断点续传的文件输、消息群发功能和在线游戏功能以及同学录( 团体) 等有机结合, 形成一个完整的网上即时通讯娱乐平台, 带来聊天新感觉。第十六次CNNIC 调查结果显示: 在网络用户经常使用的网络服务/功能调查中, 网上聊天( 聊天室、QQ、ICQ 等)占被调查人群的42.6%, 处于第四位, 作为操作简便也是出现最早的网上聊天方式, 聊天室聊天又是其中最普及的一种。在网站由窄带向宽带发展的今天, 新一代的聊天室充分利用富媒体技术, 以崭新的形象吸引受众视听。1.2 本系统研究内容 本系统主要研究内容是基于VC+的网络实时聊天软件,主要分为服务器端和客户端,本系统研究目标是
11、实现用户通过登录客户端,可以与服务器端进行文字信息的传递。主要使用windows socket编程,建立Client/Server模型,初始化套接字,然后建立一个监听的套接字,设定服务器地址信息,并将监听端口绑定到这个地址,最后开始监听,并且接收客户端的链接以及与客户端进行信息的传递。主要需要进行一下的准备工作与学习:1、 了解本系统的特点以及所需要实现的功能;2、 对本系统开发所需要的软件环境要有所了解和掌握基本编程能力,如:Visual C+ 6.0 、VC+、MFC等。3、 大量查阅相关资料,对本系统的研究有一个清晰的思路,了解相关具体技术,做好前期的准备工作。1.3 研究方法与技术路线
12、 首先根据设计要求查询相关技术资料,充分了解本聊天软件的具体特点、各部分的组成等,查阅资料掌握如何利用协议分析工具分析IP数据报报文格式,体会数据报发送、转发的过程。其次,通过分析截获TCP报文首部信息,理解首部中的序号、确认号等字段是TCP可靠连接的基础。并通过分析TCP连接的三次握手建立和释放过程,理解TCP连接建立和释放机制。还要深入研究开发本系统所需要的相关理论知识和实际操作技术,通过需求分析确定本课题的总体设计方案。对比并确定所需要的软件开发工具,深入学习相关软件的使用和相应的编程技巧。最终确定采用SQL数据库访问技术和socket套接字实现系统软件的开发。对以上研究资料进行认真的整
13、理并进行详细编写,完成论文的撰写工作。2 系统的开发环境与相关关键技术2.1 开发环境本系统是一个面向中小型企业内部使用的聊天软件,开发过程中必须选择合适的硬件和软件,应该具有完备的开发设备,性能稳定的开发机器,操作系统的选择要比较适当,如Windows 2000 /Windows XP /Windows2003,开发平台要求Microsoft Visual C+ 6.0,使用开发语言为C+。2.2 相关关键技术2.2.1 Visual C+与面向对象程序设计面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP 的一条基本
14、原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。面向对象程序设计中的概念主要包括:对象、类、数据抽象、继承、动态绑定、数据封装、多态性、消息传递。通过这些概念面向对象的思想得到了具体的体现。 1)对象:对象是运行期的基本实体,它是一个封装了数据和操作这些数据的代码的逻辑实体。 2) 类:类是具有相同类型的对象的抽象。一个对象所包含的所有数据和代码可以通过类来构造。 3) 封装:封装是将数据和代码捆绑到一起,避免了外界的干扰和不确定性。对象的某些数
15、据和代码可以是私有的,不能被外界访问,以此实现对数据和代码不同级别的访问权限。 4) 继承:继承是让某个类型的对象获得另一个类型的对象的特征。通过继承可以实现代码的重用:从已存在的类派生出的一个新类将自动具有原来那个类的特性,同时,它还可以拥有自己的新特性。 5) 多态:多态是指不同事物具有不同表现形式的能力。多态机制使具有不同内部结构的对象可以共享相同的外部接口,通过这种方式减少代码的复杂度。 6) 动态绑定:绑定指的是将一个过程调用与相应代码链接起来的行为。动态绑定是指与给定的过程调用相关联的代码只有在运行期才可知的一种绑定,它是多态实现的具体形式。 7) 消息传递:对象之间需要相互沟通,
16、沟通的途径就是对象之间收发信息。消息内容包括接收消息的对象的标识,需要调用的函数的标识,以及必要的信息。消息传递的概念使得对现实世界的描述更容易。8) 方法:方法(Method)是定义一个类可以做的,但不一定会去做的事。面向对象主要特征: 封装性:封装是一种信息隐蔽技术,它体现于类的说明,是对象的重要特性。封装使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模块,使得用户只能见到对象的外特性(对象能接受哪些消息,具有那些处理能力),而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。封装的目的在于把对象的设计者和对象者的使用分开,使用者不必知晓行为实现
17、的细节,只须用设计者提供的消息来访问该对象。 继承性:继承性是子类自动共享父类之间数据和方法的机制。它由类的派生功能体现。一个类直接继承其它类的全部描述,同时可修改和扩充。继承具有传递性。继承分为单继承(一个子类只有一父类)和多重继承(一个类有多个父类)。类的对象是各自封闭的,如果没继承性机制,则类对象中数据、方法就会出现大量重复。继承不仅支持系统的可重用性,而且还促进系统的可扩充性。多态性:对象根据所接收的消息而做出动作。同一消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性。利用多态性用户可发送一个通用的信息,而将所有的实现细节都留给接受消息的对象自行决定,如是,同一消息即可调
18、用不同的方法。例如:Print消息被发送给一图或表时调用的打印方法与将同样的Print消息发送给一正文文件而调用的打印方法会完全不同。多态性的实现受到继承性的支持,利用类继承的层次关系,把具有通用功能的协议存放在类层次中尽可能高的地方,而将实现这一功能的不同方法置于较低层次,这样,在这些低层次上生成的对象就能给通用消息以不同的响应。在OOPL中可通过在派生类中重定义基类函数(定义为重载函数或虚函数)来实现多态性。 2.2.2 TCP/IP协议、UDP协议TCP/IP(Transmission Control Protocol/Internet Protocol)协议Internet最基本的协议
19、,是互联网络的基础。TCP/IP协议像其他网络协议一样,也是按层次划分的,第一层都有各自功能。TCP/IP协议共分为四层,包括应用层(FTP/Email)、传输层(TCP/UDP)、网络层(IP/ICMP/IGMP)和链路层(设备驱动程序与接口卡)。链路层:链路层有时也被称为数据链路层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。他们一起处理与电缆(或其他任何传输媒介)的物理接口细节。网络层:网络层处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Intern
20、et组管理协议)。传输层:传输层主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。而另一方面,UDP则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。应用层:应用层负责
21、处理特定应用程序的细节。 【面向连接的(TCP)连接过程】2.2.3 M F C(Micrososft Fundation Classes,即微软的基本类库)MFC是一个编程框架,MFC (Microsoft Foundation Class Library)中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的方法。因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。Microsoft Visual C+提供了相应
22、的工具来完成这个工作:AppWizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助直观地设计用户接口;ClassWizard用来协助添加代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑。为了支持对应用程序概念的封装,MFC内部必须作大量的工作。例如,为了实现消息映射机制,MFC编程框架必须要保证首先得到消息,然后按既定的方法进行处理。又如,为了实现对DLL编程的支持和多线程编程的支持,MFC内部使用了特别的处理方法,使用模块状态、线程状态等来管理一些重要信息。虽然,这些内部处理对程序员来说是透明的,但是,懂得和理解MFC内部机制有助于写出功能灵活而强大的程序。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 网络 实时 聊天 系统 开发 设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3984571.html