基于C的网络聊天软件的设计与实现毕业论文.docx
- 文档编号:148878
- 上传时间:2022-10-04
- 格式:DOCX
- 页数:54
- 大小:540.67KB
基于C的网络聊天软件的设计与实现毕业论文.docx
《基于C的网络聊天软件的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《基于C的网络聊天软件的设计与实现毕业论文.docx(54页珍藏版)》请在冰豆网上搜索。
基于C#的网络聊天软件的设计与实现
基于C#的网络聊天软件的设计与实现
摘 要
作为除电视、报纸、广播之外的第四大媒体,互联网不仅成为人们获取新闻信息的主要来源,更成为了人们闲暇之余的一种休闲手段。
随着互联网技术的发展,各种各样基于网络的应用也随之诞生,网络聊天工具便是其中的一种。
本文采用VisualStudio2008+SQLServer2005开发环境,结合WinForms、ADO.NET等多种技术,实现了一个类似QQ的网络聊天工具,并在WINDOWS平台上加以了实现。
通过C#语言进行网络编程,通过公共的数据库交换各种信息,实现了人性化的界面设计与功能设计。
软件经过测试,满足现代人们即时通信的需求,达到预期的设计效果,对网络聊天工具的人性化设计具有一定的现实意义,同时也为其他相关项目的设计提供了参考。
关键词:
网络聊天工具C#即时通信数据库人性化
I
基于C#的网络聊天软件的设计与实现
Abstract
Internetisthefourthmajormediaotherthantelevisions,newspapersandbroadcasting,actingnotonlyasamajorsourceofnewsinformation,itisalsoameansofrecreationforpeopleduringtheirleisure.Alongwiththehigh-speeddevelopmentoftheInternettechnology,variousofapplicationswhicharebasedonnetworkwereborn,oneofthemisonlinechattool.ThisthesisdevelopsaonlinechattoolwhichlikeQQandbasedontheintegrationofvarioustechnologiessuchasWinForms,ADO.NETetc,andbasedontheadoptionofVisualStudio2008+SQLServer2005developmentenvironment,thenimplementitonWINDOWSplatform.ItusedC#languagefornetworkprogramming,andexchangedifferentinformationthroughcommondatabasefortheimplementionofthehumanizedUIdesignandfunctiondesign.Aftergoingthroughthetests,thisonlinechattoolcanachievetheprojecteddesignpurposeofinstantaneouscommunicationneedsofpeopleinmoderntimes,italsoposescertainrealisticsignificancetothehumanizationofonlinechattoolandprovidesasareferencetothedesignofotherrelevantprojects.
Keywords:
onlinechattool C# instantaneouscommunication databasehumanization
II
基于C#的网络聊天软件的设计与实现
目 录
第一章引言 1
1.1系统开发背景 1
1.2聊天软件的开发目标 1
第二章开发环境与关键技术简介 2
2.1C#简介 2
2.2.NETFramework简介 4
2.3WinForms窗体设计技术 5
2.4C/S结构 5
2.5ADO.NET技术 6
2.6SQLServer2005数据库简介 6
第三章需求分析 8
3.1可行性研究 8
3.2用户需求 8
3.3性能需求 8
3.4系统功能需求 9
第四章系统设计 10
4.1系统功能结构 10
4.2系统模块划分 10
4.3系统整体流程图 11
第五章详细设计 12
5.1登录界面设计 12
5.2注册界面设计 15
5.3主界面设计 19
5.4查找/添加好友界面设计 22
5.5聊天界面设计 28
5.6个人设置界面设计 33
5.7头像选择界面设计 34
5.8系统消息界面设计 35
结束语 38
参考文献 39
附录一 40
附录二 41
III
第一章引言
1.1系统开发背景
当今社会已进入信息时代,信息是当今世界最重要的资源之一,它与物质及能源一起构成了三大能源支柱。
信息高速公路是信息社会的基础设施,而互联网则是信息高速公路的重要组成部分。
在互联网相当普及的今天,你们对网络的依赖越来越大,越来越离不开网络,网络聊天更是成为了人们的“家常便饭”。
通过网络聊天工具,人们足不出户就可进行闲聊甚至工作会谈,极大地方便了人们的日常生活与工作需求。
常用的网络聊天工具主要是QQ与MSN。
MSN主要用于国际,而国内的主流网络聊天工具是QQ。
QQ有着非常良好的操作界面,和强大的通信功能,集娱乐、生活和工作于一身。
随着技术的进步,QQ不仅可以通过宽带网在PC上使用,通过手机也可以实现与好友、同事通信。
而无论是QQ还是MSN,都存在一个很大的问题——广告。
每次登陆后时不时会弹出一些广告窗口,绝大多数网友都对此感觉厌烦。
因此在本次论文的激励下,我决定设计一个类似QQ并且无垃圾信息的网络聊天工具,此外也希望通过本次论文能更好地学习与掌握网络软件编程知识。
1.2聊天软件的开发目标
本论文的主要工作是设计一个类似QQ的网络即时聊天工具,主要是采用WinForms+ADO.NET技术实现。
软件功能主要包括用户注册、用户登录、用户间聊天、查找/添加好友、个人设置等。
客户端通过公共的数据库交换信息,消息的发送和读取都是通过操作数据库来完成的。
在程序中采用定时扫描数据库的方式来查找未读消息。
文章首先简介涉及的相关技术与基本知识,然后阐述本软件的功能,再具体分析软件各个模块的功能及具体实现方法。
第二章开发环境与关键技术简介
2.1C#简介
C#(读作CSharp)是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言,是一种安全的、稳定的、简单的、优雅的,由 C和C++衍生出来的面向对象的编程语言。
它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。
C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。
C#最引人入胜的地方是它和Java的不同,而不是相似的地方:
中间代码
微软在用户选择何时MSIL应该编译成机器码的时候是留了很大的余地。
微软公司很小心的声称MSIL不是解释性的,而是被编译成了机器码。
它也明白许多,如果不是大多数的话,程序员认为Java程序要不可避免的比C编写的任何东西都要慢。
而这种实现方式决定了基于MSIL的程序(指的是用C#,Visual Basic,"Managed C++"--C++的一个符合CLS的版本--等语言编写的程序)将在性能上超过"解释性的"Java代码。
当然,这一点还需要得到事实证明,因为C#和其他生成MSIL的编译器还没有发布。
但是JavaJIT编译器的普遍存在使得Java和C#在性能上相对相同。
象"C#是编译语言而Java是解释性的,"之类的声明只是商业技巧。
Java的中间代码和MSIL都是中间的汇编形式的语言,它们在运行时或其它的时候被编译成机器代码。
命名空间中的申明
当你创建一个程序的时候,你在一个命名空间里创建了一个或多个类。
同在这个命名空间里(在类的外面)你还有可能声明接口,枚举类型和结构体。
必须使用using关键字来引用其他命名空间的内容。
基本的数据类型
C#拥有比C,C++或者Java更广泛的数据类型。
这些类型是bool,byte,ubyte,short,ushort,int,uint,long,ulong,float,double,和decimal。
象Java一样,所有这些类型都有一个固定的大小。
又象C和C++一样,每个数据类型都有有符号和无符号两种类型。
与Java相同的是,一个字符变量包含的是一个16位的Unicode字符。
C#新的数据类型是decimal数据类型,对于货币数据,它能存放28位10进制数字。
两个基本类
一个名叫object的类是所有其他类的基类。
而一个名叫string的类也象object一样是这个语言的一部分。
作为语言的一部分存在意味着编译器有可能使用它,无论何时你在程序中写入一句带引号的字符串,编译器会创建一个string对象来保存它。
参数传递
方法可以被声明接受可变数目的参数。
缺省的参数传递方法是对基本数据类型进行值传递。
ref关键字可以用来强迫一个变量通过引用传递,这使得一个变量可以接受一个返回值。
out关键字也能声明引用传递过程,与ref不同的地方是,它指明这个参数并不需要初始值。
与COM的集成
C#对Windows程序最大的卖点可能就是它与COM的无缝集成了,COM就是微软的Win32组件技术。
实际上,最终有可能在任何.NET语言里编写COM客户和服务器端。
C#编写的类可以子类化一个以存在的COM组件;生成的类也能被作为一个COM组件使用,然后又能使用,比方说,JScript语言子类化它从而得到第三个COM组件。
这种现象的结果是导致了一个运行环境的产生,在这个环境里的组件是网络服务,可用用任何.NET语言子类化。
代理和反馈
一个代理对象包括了访问一个特定对象的特定方法所需的信息。
只要把它当成一个聪明的方法指针就行了。
代理对象可以被移动到另一个地方,然后可以通过访问它来对已存在的方法进行类型安全的调用。
一个反馈方法是代理的特例。
event关键字用在将在事件发生的时候被当成代理调用的方法声明。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 网络 聊天 软件 设计 实现 毕业论文