局域网即时通信软件毕业论文.doc
《局域网即时通信软件毕业论文.doc》由会员分享,可在线阅读,更多相关《局域网即时通信软件毕业论文.doc(46页珍藏版)》请在三一办公上搜索。
1、毕业论文题 目: 局域网即时通信软件 姓 名: 林韩超 系 别: 软件学院 年 级: 09级 专业班级: 09软件技术3-2 指导教师: 吴瑜 深圳信息职业技术学院教务处编摘 要语言交流本身是方便快捷的,所以人们已经习惯于用电话进行沟通。但是,电话通信需要建立双方共同应约的条件之下,而即时通信,则解决了这个问题。即时通信在互联网领域的应用取得了巨大的成功,但是在企业内部的应用仍远未普及。局域网即时通信软件,就是基于企业内部局域网使用的即时通信。本软件采用了较普遍的MFC对话框类,使用Visual C+ 6.0进行开发。以UDP作为网络通信协议,使用WinSock网络编程接口。本软件基本实现了用
2、户名及头像的自定义修改、用户的上下线实时显示、即时通信聊天、聊天记录的存取等功能,本文主要介绍的是局域网即时通信软件的设计与实现。 关键词: C+、MFC、UDP、WinSock、局域网、通信AbstractVerbal communication itself is convenient, so people have become accustomed to communicate by telephone. However, the telephone communication needs of both sides should be about establishing the c
3、onditions under which instant communication, is to solve this problem. The field of instant messaging applications on the Internet has achieved great success, but the application within the enterprise still far from universal. LAN instant messaging software, is based on the internal LAN to use insta
4、nt messaging.The software uses the more common MFC dialog class, using Visual C + + 6.0 for development. The UDP as the network communication protocol, using the WinSock network programming interface. The software is basically a user name and picture of the custom modifications, the users real-time
5、display on the assembly line, instant messaging chat, chat records access and other functions, this article focuses on the LAN instant messaging software design and implementation.Keywords: C + +, MFC, UDP, WinSock, LAN, communications. 目录第1章课题背景与开发意义61.1 课题背景61.2 开发现状分析61.3 现行系统问题分析61.4 解决方案71.5课题开
6、发意义7第2章理论基础82.1 MFC开发类库82.2 类封装技术82.3 多线程技术82.4 WinSock技术92.5 CImageList图像列表技术92.6 CStdioFile文件存储技术10第3章系统需求分析113.1业务系统描述113.2 系统存在的主要问题的分析113.3解决方案113.4 功能分析11第4章系统总体设计134.1 系统功能结构134.2 系统框架图与流程图134.3 数据结构设计15第5章详细设计与功能实现185.1通信功能模块介绍185.1.1系统监听模块185.1.2聊天通信模块185.2通信功能模块详解185.2.1上下线监听185.2.2聊天请求监听2
7、15.2.3聊天通信245.3聊天功能模块介绍275.3.1聊天记录模块275.4聊天功能模块详解275.4.1聊天记录存储275.4.2聊天记录读取285.4.3清空聊天记录295.4.4用户登录模块295.4.5资料修改模块305.4.6用户注销模块305.5用户功能模块详解315.5.1用户登录315.5.2资料读取365.5.3资料修改375.5.4用户注销385.6头像功能模块介绍395.6.1头像更改模块395.6.2头像读取显示模块405.7头像功能模块详解415.7.1头像更改415.7.2头像读取显示43第6章系统总结45参考文献46第1章 课题背景与开发意义1.1 课题背景
8、随着互联网应用越来越丰富,以快速、交互、简便为代表的即时通讯工具,已经成为当前网络用户最喜爱的网络沟通工具。聊天软件作为当今使用最为广泛的即时性通 信工具之一,给互联网上的用户提供了诸多的服务,如文字聊天、文件传输、语音聊天、视频聊天等功能。作为即时通讯工具最具增长潜力之一的聊天软件,不仅在基础应用方面,还是产品扩展应用方面都将有质的飞跃,它为满足人们的需要,将其功能不断的完善。随着聊天软件功能的不断完善,用户通过聊天软件在互联网上 尽情的交谈,不但可以文字聊天和文件传输,还可以通过语音、视频来聊天。在今后随着互联网技术的发展,聊天软件也在以前所未有的速度改变着人们的生活方 式,它必定会成为人
9、们网络生活不可缺少的一部分。1.2 开发现状分析1996年11月ICQ在全球发布,拉开了互联网IM(Instant Messenger,即时通讯)应用的序幕。就是这样一款小软件在短短数年时间里发展出一个巨大的IM产业。当ICQ风行全球的时候,在国内各种仿ICQ的中文IM软件也纷纷推出,时至今日,占据国内的市场的主要是腾讯公司的QQ、微软的MSN、雅虎的雅虎通等。其中腾讯公司的QQ以占据了国内70%以上的市场。随着IM应用的深入,其功能早已超越了初期的即时文字聊天。表情图标早已成为各个IM软件的标准功能,文件传输、语音/视频聊天、游戏、网上交友等高级功能也正越来越多地被集成进入IM应用。事实表明
10、,现在的IM已不再是一个简单的沟通工具,而是一个信息资讯、交流互动、休闲娱乐中心,IM平台上的语音、视频、音乐点播、信息共享等新应用层出不穷。发展到现在,IM软件越来越成熟,IM产业链也已经形成,已经成为现代人和现代经济中不可或缺的一部份,相信未来IM软件的道路会更加宽广和精彩。1.3 现行系统问题分析即时通信软件首要问题在于对信息的精准传输。现行许多IM软件(如:腾讯QQ),大都需要一个服务端做信息的转接,这种C-S架构并不适于公司内部的这种小型局域网通信的需要,不仅搭建环境复杂,成本高,难以维护,而且在信息的转接的过程容易发生错误造成信息的丢失,错发等信息安全问题。此外,使用C-S架构还需
11、要一个高端的服务器和数据库做支持。1.4 解决方案为了解决以上所提到的问题,本软件抛弃了C-S架构的IM搭建方式,才用多端口接发数据,实现独立用户-专一端口,防止了信息的丢失和错发。同时,省略了服务器的搭建,节约了软件运行成本。而在数据方面,无论是用户信息,还是聊天记录,全部才用本地加密存储于文件中,节省了数据库的搭建成本。整个软件仅一个客户端,将所有功能封装于各式类文件中,后期维护简单。1.5课题开发意义21世纪是信息的时代,随着互联网技术的发展,信息在传递方面也有了崭新的一面。现今聊天软件成为信息传递最为广泛的应用工具,它发挥了即时性通信的特点,可以 让用户在第一时间内得到信息的交流,它不
12、仅可以让用户进行文字聊天,而且还增添语音、视频功能。这样可以让网上的好友身临其境的面对面的聊天,让彼此之间 更为深入的了解。人性化的设计让每个用户都可以得心应手的使用,从而获得更多人的青睐。Internet的 出现连通了整个世界,而聊天软件的出现则连通了每一位网上的用户。相比较同类产品,局域网即时通讯软件具有以下优势:1. 界面友好,操作简单,易于上手。2. 采用WinSock网络编程的规范,更加安全稳定;3. 采用加密文件存储信息,安全有保证,且成本低;4. 采用UDP通信协议,通信即时性强,无需等待对方应答;5. 无需搭建服务器,后期维护成本低,前期搭建使用简单;第2章 理论基础2.1 M
13、FC开发类库MFC(Microsoft Foundation Classes,又称微软基础类库)是一个微软公司提供的类库(class libraries),以C+类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。而Visual C+中包含MFC应用程序向导,可用于兼容MFC的应用程序。在向导中有各种选项以定制生成的程序的功能,例如界面风格、语种、数据库开发支持、打印支持、自动化支持、ActiveX支持、网络支持、基于HTML的帮助文档支持等等。MFC的主要优点
14、是可以用面向对象的方法来调用Windows API,以及应用程序开发的便捷。MFC将很多应用程序开发中常用的功能自动化,并且提供了文档框架视图结构和活动文档这样的便于自定义的应用程序框架。同时,在Visual C+内部也内建了很多对MFC的例如类向导这样的支持以减少软件开发的时间。MFC的消息映射机制也避免了使用性能较低的庞大虚函数表。2.2 类封装技术类(class),是一种面向对象计算机编程语言的构造,是创建对象的蓝图,描述了所创建的对象共同的属性和方法。C+是一种面向对象的编程语言,因此在局域网即时通信软件中,我们采用面向对象的编程方法,将一些对象封装成为类。如Socket通信类,Use
15、r用户类等。通过使用类封装技术,可以提供模型化和信息隐藏的好处,同时还提供了可重用性的好处。使得代码的利用率增强,编程过程简化,后期更加易于维护。2.3 多线程技术多线程,是指从软件或者硬件上实现多个线程迸发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。软件多线程。即便处理器只能运行一个线程,操作系统也可以通过快速的在不同线程之间进行切换,由于时间间隔很小,来给用户造成一种多个线程同时运行的假象。这样的程序运行机制被称为软件多线程。在局域网即时通信软件中,我们需要同时监听用户上下线,即时通信这两方面的信息,因此需要通过多线程来实现。而我们
16、采用的多线程技术就是软件多线程技术。采用多线程技术,可以更好地利用系统资源。其主要优势在于充分利用了CPU的空闲时间片,可以用尽可能少的时间来对用户的要求做出响应,使得进程的整体运行效率得到较大提高,同时增强了应用程序的灵活性。更为重要的是,由于同一进程的所有线程是共享同一内存,所以不需要特殊的数据传送机制,不需要建立共享存储区或共享文件,从而使得不同任务之间的协调操作与运行、数据的交互、资源的分配等问题更加易于解决。2.4 WinSock技术WinSock,即Windows Sockets API,是Windows下得到广泛应用的、开放的、支持多种协议的网络编程接口。是Windows 网络软
17、件访问网络服务的一种技术规范定义,特别是对TCP/IP的协议发访问。它定义TCP/IP窗口之间的标准接口 (如FTP 客户端或web 浏览器) 的客户端应用程序和基础的 TCP/IP协议栈。通信的基础是套接口(Socket),一个套接口是通讯的一端。在这一端上你可以找到与其对应的一个名字。一个正在被使用的套接口都有它的类型和与其相关的进程。套接口存在于通讯域中。通讯域是为了处理一般的线程通过套接口通讯而引进的一种抽象概念。套接口通常和同一个域中的套接口交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序)。Windows Sockets规范支持单一的通讯域,即Internet域。
18、各种进程使用这个域互相之间用Internet协议族来进行通讯(Windows Sockets 1.1以上的版本支持其他的域,例如Windows Sockets 2)。套接口可以根据通讯性质分类;这种性质对于用户是可见的。应用程序一般仅在同一类的套接口间通讯。不过只要底层的通讯协议允许,不同类型的套接口间也照样可以通讯。用户目前可以使用两种套接口,即流套接口和数据报套接口。流套接口提供了双向的,有序的,无重复并且无记录边界的数据流服务。数据报套接口支持双向的数据流,但并不保证是可靠,有序,无重复的。也就是说,一个从数据报套接口接收信息的进程有可能发现信息重复了,或者和发出时的顺序不同。数据报套接
19、口的一个重要特点是它保留了记录边界。对于这一特点,数据报套接口采用了与现在许多包交换网络(例如以太网)非常类似的模型。Windows Socket API 规范定义了两个接口: API用于应用程序开发人员和SPI,是提供给网络软件开发者向系统添加新协议模块的一种手段。每个接口表示一个协议。API可以保证一个应用程序对使用正常协议执行的任何网络软件供应商保持一致性。本软件采用UDP协议,结合WinSock网络编程接口,实现通信及用户上下线通知功能。2.5 CImageList图像列表技术有两种类型的图像列表(CImageList):非屏蔽的和屏蔽的。非屏蔽的图像列表由包含一个或多个图像的色位图构
20、成。屏蔽的图像列表由相同大小的两个位图构成。第一个是包含图像的色位图,第二个是包含一系列屏蔽的单色位图(一个屏蔽对应第一个位图中的一个图像)。 Create成员函数的一个重载创建一个标志指示图像列表是否是屏蔽的。(其他重载创建屏蔽的图像列表)。 绘制非屏蔽图像时,只是简单地将其复制到目标DC。绘制屏蔽图像时,图像位和屏蔽位组合,一般在位图中产生显露目标DC背景色的透明区域。绘制屏蔽图像时可以指定几种绘图样式。例如,可以指定图像进行抖色处理以指示选定的对象。2.6 CStdioFile文件存储技术CFile的派生类CStdioFile提供了对文件进行流式的操作功能。其中函数voidCStdioF
21、ile:WriteString(LPCTSTRlpsz)写入一个字符串,需要给字符串lpsz的末尾加上换行标志”rn”;函数boolCStdioFile:ReadString(CString&rString)从文件中读取一行,如果文件未读完返回true,否则返回false。第3章 系统需求分析3.1业务系统描述随着个人电脑的普及,许多公司甚至家庭都拥有不止一台电脑。而与此同时,网络用户也日益增多。许多公司及家庭的局域网应运而生。在这样的社会背景下,局域网即时通讯软件的出现,正解决了在局域网内即时通信的问题。局域网即时通讯软件可以实现即时显示在线用户的状态,且区别于国内某知名IM软件,占用内存小
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 局域网 即时 通信 软件 毕业论文

链接地址:https://www.31ppt.com/p-3942344.html