《毕业设计(论文)基于C++的网络聊天软件的设计与实现》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于C++的网络聊天软件的设计与实现(44页珍藏版)》请在金锄头文库上搜索。
1、摘 要作为除电视、报纸、广播之外的第四大媒体,互联网不仅成为人们获取新闻信息的主要来源,更成为了人们闲暇之余的一种休闲手段。随着互联网技术的发展,各种各样基于网络的应用也随之诞生,网络聊天工具便是其中的一种。本文采用Visual Studio 2008+SQL Server 2005开发环境,结合WinForms、ADO.NET等多种技术,实现了一个类似QQ的网络聊天工具,并在WINDOWS平台上加以了实现。通过C#语言进行网络编程,通过公共的数据库交换各种信息,实现了人性化的界面设计与功能设计。软件经过测试,满足现代人们即时通信的需求,达到预期的设计效果,对网络聊天工具的人性化设计具有一定的
2、现实意义,同时也为其他相关项目的设计提供了参考。关键词:网络聊天工具 C# 即时通信 数据库 人性化AbstractInternet is the fourth major media other than televisions, newspapers and broadcasting, acting not only as a major source of news information, it is also a means of recreation for people during their leisure. Along with the high-speed develop
3、ment of the Internet technology, various of applications which are based on network were born,one of them is online chat tool. This thesis develops a online chat tool which like QQ and based on the integration of various technologies such as WinForms, ADO.NET etc,and based on the adoption of Visual
4、Studio 2008+SQL Server 2005 development environment, then implement it on WINDOWS platform. It used C # language for network programming,and exchange different information through common database for the implemention of the humanized UI design and function design. After going through the tests, this
5、 online chat tool can achieve the projected design purpose of instantaneous communication needs of people in modern times, it also poses certain realistic significance to the humanization of online chat tool and provides as a reference to the design of other relevant projects.Key words: online chat
6、tool C# instantaneous communication database humanization 目 录第一章 引言11.1 系统开发背景11.2 聊天软件的开发目标1第二章 开发环境与关键技术简介22.1 C#简介22.2 .NET Framework简介42.3 WinForms窗体设计技术52.4 C/S结构52.5 ADO.NET技术62.6 SQL Server 2005数据库简介6第三章 需求分析83.1 可行性研究83.2 用户需求83.3 性能需求83.4 系统功能需求9第四章 系统设计104.1 系统功能结构104.2 系统模块划分104.3 系统整体流程图
7、11第五章 详细设计125.1 登录界面设计125.2 注册界面设计155.3 主界面设计195.4 查找/添加好友界面设计225.5 聊天界面设计285.6 个人设置界面设计335.7 头像选择界面设计345.8 系统消息界面设计35结束语38参考文献39附录一40附录二4111第一章 引言1.1 系统开发背景当今社会已进入信息时代,信息是当今世界最重要的资源之一,它与物质及能源一起构成了三大能源支柱。信息高速公路是信息社会的基础设施,而互联网则是信息高速公路的重要组成部分。在互联网相当普及的今天,你们对网络的依赖越来越大,越来越离不开网络,网络聊天更是成为了人们的“家常便饭”。通过网络聊天
8、工具,人们足不出户就可进行闲聊甚至工作会谈,极大地方便了人们的日常生活与工作需求。常用的网络聊天工具主要是QQ与MSN。MSN主要用于国际,而国内的主流网络聊天工具是QQ。QQ有着非常良好的操作界面,和强大的通信功能,集娱乐、生活和工作于一身。随着技术的进步,QQ不仅可以通过宽带网在PC上使用,通过手机也可以实现与好友、同事通信。而无论是QQ还是MSN,都存在一个很大的问题广告。每次登陆后时不时会弹出一些广告窗口,绝大多数网友都对此感觉厌烦。因此在本次论文的激励下,我决定设计一个类似QQ并且无垃圾信息的网络聊天工具,此外也希望通过本次论文能更好地学习与掌握网络软件编程知识。1.2 聊天软件的开
9、发目标本论文的主要工作是设计一个类似QQ的网络即时聊天工具,主要是采用WinForms+ADO.NET技术实现。软件功能主要包括用户注册、用户登录、用户间聊天、查找/添加好友、个人设置等。客户端通过公共的数据库交换信息,消息的发送和读取都是通过操作数据库来完成的。在程序中采用定时扫描数据库的方式来查找未读消息。文章首先简介涉及的相关技术与基本知识,然后阐述本软件的功能,再具体分析软件各个模块的功能及具体实现方法。第二章 开发环境与关键技术简介2.1 C#简介C#(读作C Sharp)是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言, 是一种安全的、稳定的
10、、简单的、优雅的,由C和C+衍生出来的面向对象的编程语言。它在继承C和C+强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。C#综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的, 而且它是微软公司.NET windows网络框架的主角。C#最引人入胜
11、的地方是它和Java的不同,而不是相似的地方:中间代码微软在用户选择何时MSIL应该编译成机器码的时候是留了很大的余地。微软公司很小心的声称MSIL不是解释性的,而是被编译成了机器码。它也明白许多,如果不是大多数的话,程序员认为Java程序要不可避免的比C编写的任何东西都要慢。而这种实现方式决定了基于MSIL的程序(指的是用C#,Visual Basic,Managed C+-C+的一个符合CLS的版本-等语言编写的程序)将在性能上超过解释性的Java代码。当然,这一点还需要得到事实证明,因为C#和其他生成MSIL的编译器还没有发布。但是Java JIT编译器的普遍存在使得Java和C#在性能
12、上相对相同。象C#是编译语言而Java是解释性的,之类的声明只是商业技巧。Java的中间代码和MSIL都是中间的汇编形式的语言,它们在运行时或其它的时候被编译成机器代码。命名空间中的申明当你创建一个程序的时候,你在一个命名空间里创建了一个或多个类。同在这个命名空间里(在类的外面)你还有可能声明接口,枚举类型和结构体。必须使用using关键字来引用其他命名空间的内容。 基本的数据类型C#拥有比C,C+或者Java更广泛的数据类型。这些类型是bool,byte,ubyte,short,ushort,int,uint,long,ulong,float,double,和decimal。象Java一样,
13、所有这些类型都有一个固定的大小。又象C和C+一样,每个数据类型都有有符号和无符号两种类型。与Java相同的是,一个字符变量包含的是一个16位的Unicode字符。C#新的数据类型是decimal数据类型,对于货币数据,它能存放28位10进制数字。 两个基本类一个名叫object的类是所有其他类的基类。而一个名叫string的类也象object一样是这个语言的一部分。作为语言的一部分存在意味着编译器有可能使用它,无论何时你在程序中写入一句带引号的字符串,编译器会创建一个string对象来保存它。参数传递方法可以被声明接受可变数目的参数。缺省的参数传递方法是对基本数据类型进行值传递。ref关键字可
14、以用来强迫一个变量通过引用传递,这使得一个变量可以接受一个返回值。out关键字也能声明引用传递过程,与ref不同的地方是,它指明这个参数并不需要初始值。与COM的集成C#对Windows程序最大的卖点可能就是它与COM的无缝集成了,COM就是微软的Win32组件技术。实际上,最终有可能在任何.NET语言里编写COM客户和服务器端。C#编写的类可以子类化一个以存在的COM组件;生成的类也能被作为一个COM组件使用,然后又能使用,比方说,JScript语言子类化它从而得到第三个COM组件。这种现象的结果是导致了一个运行环境的产生,在这个环境里的组件是网络服务,可用用任何.NET语言子类化。代理和反
15、馈一个代理对象包括了访问一个特定对象的特定方法所需的信息。只要把它当成一个聪明的方法指针就行了。代理对象可以被移动到另一个地方,然后可以通过访问它来对已存在的方法进行类型安全的调用。一个反馈方法是代理的特例。event关键字用在将在事件发生的时候被当成代理调用的方法声明。2.2 .NET Framework简介.NET Framework是支持生成、运行下一代应用程序和XML Web Services的内部Windows组件,它简化了在高度分布式Internet环境中的应用程序开发,.NET Framework可实现的功能如下:l 提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的。l 提供一个将软件部署和版本控制冲突最小化的代码执行环境。l 提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。l 提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。l 使开发人员的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致。l 按照工业标准生成所有通信,以确保基于 .NET Framework 的代码可与