《基于 C# 聊天群的编程毕业论文.docx》由会员分享,可在线阅读,更多相关《基于 C# 聊天群的编程毕业论文.docx(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 毕 业 论 文基于 C# 聊天群的编程姓 名: 指导老师: 专 业: 计算机应用二一二年五月摘 要:随着计算机网络技术的发展各种各样基于网络的应用也随之诞生,比如基于互联网的信息发布,通信,数据共享等等。局域网的发展也同样迅速。很多政府机构,企业,学校,都是先以一个统一的局域网联结在一起,再分别接入INTERNET。因此基于局域网的即时通信工具。就这样应运而生了,本文提出了一个局域网聊天工具的设计。并在WINDOWS平台上加以了实现!我们这个聊天软件选择目前应用最广的Windows操作系统作为开发、测试和运行的平台,用Visual Studio 2005作为软件开发工具,C#作为编程语言,S
2、ql Server 2005作为数据库支持,开发一个方便上手且功能强大的聊天软件。主要功能包括登录、注册、修改个人资料、查询好友、聊天等。目录:一 XP发展历史二 开发语言三 软件功能四 软件框架五 数据字典六 流程简介XP发展历史Windows XP 是基于 Windows2000代码的产品,拥有新的用户图形界面(叫做月神Luna),它包括了一些细微的修改,其中有些看起来是从Linux的桌面环境(desktop environment)如KDE中获得的灵感:带有用户图形的登陆界面就是一个例子。此外,Windows XP 引入了一个“选择任务”的用户界面,使用户可以由工具条访问任务细节。它还包
3、括简化的Windows 2000的用户安全特性,并整合了防火墙,试图解决一直困扰微软的安全问题。 2000年WindowsXP的前身Windows Whistler开始研发。 2001年10月,微软副总裁Jim Allchin首次展示了Windows XP。同年发行了两个版本:Professional和Classic。 2002年微软推出Windows XP SP1补丁包,允许消费者与电脑制造商自行移除部分结合在XP中的“中介软件”技术。 2004年微软花费3亿美元推出XP SP2补丁包,这是对XP的安全架构的一次大检修,增添了网络保护、安全的邮件处理和Web浏览以及PC维护方面的新技术。 2
4、005年微软发布64位XP客户端和服务器2个系列,支持Intel和AMD的64位桌面处理器。 2007年1月,Windows Vista发布,随后微软首次提到停止XP发售的计划。 2008年4月,微软推出XP SP3补丁包,并宣布这是为XP的最后一次升级。 6月30日,微软停止XP销售。并宣布针对Windows XP 的主要支持至2009年4月14日,延伸支持至2014年4月8日。 2009年4月14日,微软停止Windows XP的技术支持,包括新的IE、DirectX、MSN等微软服务不能在XP上使用。 10月,Windows7操作系统正式上市。并开始占领市场,截止至2011年6月,Win
5、dows7的市场占有率只差Windows XP 8%左右,逐渐替代Windows XP。 2014年春季,微软将终止对Windows XP 操作系统的一切技术支持。 2012.3.12 微软发布 windows 8 以及 windows server 8开发语言微软C#语言定义主要是从C和C+继承而来的,而且语言中的许多元素也反映了这一点。C#在设计者从C+继承的可选选项方面比JAVA要广泛一些(比如说struts),它还增加了自己新的特点(比方说源代码版本定义).但它还太不成熟,不可能挤垮JAVA。C#还需要进化成一种开发者能够接受和采用的语言。而微软当前为它的这种新语言大造声势也是值得注意
6、的。目前大家的反应是:“这是对JAVA的反击”。 C#更像JAVA一些,虽然微软在这个问题上保持沉默。这也是意料中的事情,我觉得,因为JAVA近来很成功而使用JAVA的公司都报告说它们在生产效率上比C+获得了提高。 JAVA所带来的巨大影响和大家对它的广泛接受已经由工作于这种语言和平台之上的程序员数量明显的说明了(估计世界范围内共有两百五十万程序员使用JAVA)。由这种语言写成的应用程序的数量是令人惊讶的并已经渗透了每一个级别的计算,包括无线计算和移动电话(比如日本发明的JAVA电话)。C#能够在用户领域获得这样的礼遇吗?我们必须等待并观望,就象已经由SSI公司的CEO和主席KALPATHI
7、S. SURESH指出来的那样:我发现所有这些都是渐进的。如果C#不存在,我们总能回到JAVA或C和C+。这些都不完全是新技术,它们在更大的意义上来说只是大公司制造的市场噱头。我们必须给他们时间安顿下来看看这些是不是真的对IT工业有什么影响。 C# (C SHARP)是微软对这一问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。 正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选无论是高级的商业对象还是系统级的应用
8、程序。使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过INTERNET进行调用。 最重要的是,C#使得C+程序员可以高效的开发程序,而绝不损失C/C+原有的强大的功能。因为这种继承关系,C#与C/C+具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。NET Framework又称 .Net框架。是由微软开发,一个致力于敏捷软件开发(Agile software development)、快速应用开发(Rapid application development)、平台无关性和网络透明化的软件开发平台。.NET是微软为下一个十年对
9、服务器和桌面型软件工程迈出的第一步。.NET包含许多有助于互联网和内部网应用迅捷开发的技术。.NET框架是微软公司继Windows DNA之后的新开发平台。.NET Framework 1.0完整版本号 - 1.0.3705这是最初的.NET构架,发行于2002年。它可以以一个独立且可重新分发的包的形式或在一个软件发展工具包集中被获得。它也是第一个微软Visual Studio .NET的发行版的一部分(也被称作Visual Studio .NET 2002)。 .NET Framework 1.1完整版本号 - 1.1.4322这是首个主要的.Net Framework升级版本,发行于200
10、3年。它可以以一个独立的可重新分发的包的形式或在一个软件发展工具包集中被获得。它也是第二个微软Visual Studio .NET版本的一部分(也被称作Visual Studio .NET 2003)。它也是首个被Windows操作系统-Windows Server 2003所内置的.Net Framework版本。 自1.0版本以来的改进: 自带了对mobile asp .net控件的支持。这在1.0版本是以附加功能方式实现的,现在已经集成到框架的内部。安全方面的变更 - 使得Windows窗体代码以可靠的行为运行,从而可以在Internet环境内安全运行,并且加入了ASP .NET应用程序
11、的代码安全访问功能。自带了对ODBC和Oracle数据库的支持。这在1.0版本是以附加功能方式实现的,现在已经集成到框架的内部。.NET Compact Framework- 这是一个用于智能设备(例如Pocket PC或者SmartPhone)的.Net Framework的子集。对IPv6的支持。大量的API变更。 据感知紧密集成。借助这个新功能,您可以使用相同的语法,在任何支持LINQ的语言中编写相关代码,以筛选和枚举多种类型的SQL数据、集合、XML和数据集,以及创建它们的投影。利用asp .netAJAX可以创建更有效、更具交互性、高度个性化的Web体验,这些体验在所有最流行的浏览器
12、上都能实现。用于生成WCF服务的全新Web协议支持,包括AJAX、JSON、REST、POX、RSS、ATOM和若干新的WS-*标准。Visual Studio 2008中面向WF、WCF和WPF的完整工具支持,其中包括支持工作流的服务这一新技术。.Net Framework 3.5基类库 (BCL)中的新类可满足许多常见的客户请求。.Net Framework 3.5 SP1 .Net Framework 3.5 SP1自动包含.Net Framework 2.0 SP2以及.Net Framework 3.0 SP2。.NET Framework 2.0完整版本号 - 2.0.50727.
13、42,发行于2005年10月27日。 .Net Framework 2.0的组件都包含在 Visual Studio 2005和SQL Server 2005里面。通过MSDNUniverse版可以免费下载RTM版本。自1.1版本以来的改进:大量的API变更。新的API让需要管理.NET运行库实例的非.NET的应用程序可以做到这点。这个新的API对.NET运行库的各种功能,包括:多线程、存储器分配、代码加载等,提供了很好的控制。它最初是为Microsoft SQL Server能够有效率的使用.NET运行库而设计的,因为Microsoft SQL Server拥有它自己的日程管理器和存储器管理
14、器。NET框架 2.0 SP1随.Net Framework 3.5同时发行,请参看.Net Framework 3.5一节。.Net Framework 2.0 SP2随.Net Framework 3.5 SP1同时发行,请参看.Net Framework 3.5 SP1一节。 .NET Framework 3.0主条目:.Net Framework 3.0发布日期2006/11/21。曾用名“WinFX”。依然使用.Net Framework 2.0版本的公共语言运行库(CLR),并加入了适应未来软件发展方向的4个框架: Windows Presentation Foundation(W
15、PF):提供更佳的用户体验,用来开发Windows Forms程序以及流览器应用程序.Windows Communication Foundation(WCF):提供SOA(面向服务的软件构架)支持的安全的网络服务(Web Service)框架。Windows Workflow Foundation(WF):提供一个设计与发展工作流程导向(Workflow-oriented)应用程序基础支持的应用程序接口。Windows CardSpace:提供一个SSO的解决方案,每个用户都有各自的CardSpace。.Net Framework 3.0 SP1随.Net Framework 3.5同时发行
16、,请参看.Net Framework 3.5。.Net Framework 3.0 SP2随.Net Framework 3.5 SP1同时发行,请参看.Net Framework 3.5 SP1。 .NET Framework 3.5这个版本将包含一个支持C#和VB .Net中心的语言特性的编译器,以及对语言集成查询(LINQ,Language-Integrated Query)的支持。该版本随Visual Studio 2008一起发布。 同时,.Net Framework 3.5自动包含.Net Framework 2.0 SP1以及.Net Framework 3.0 SP1,用于为这
17、两个版本提供安全性修复,以及少量新增的类库(如System.DateTimeOffest),此版本提供的新功能有: 扩展方法(Extension Method)属性(Attribute),用于为扩展方法提供支持LINQ支持,包括LINQ to Object、LINQ to ADO .NET以及LINQ to XML表达式目录树(Expression Tree),用于为Lambda表达式提供支持与语言集成查询 (LINQ)和数.NET Framework 4.04.0主要增加了并行支持,英文版于2010年4月12日推出。 企业基础 .NET提供开发软件的独立平台,自带高度安全的网络系统,相当倚重
18、软件组件以及组件导向程序。在这方面它完全取代前者(COM1)。软件功能第一点ASP .NET动态数据,它提供了丰富的框架,从而使用户可以快速进行数据驱动的开发,而无需编写代码;ASP .NET AJAX 的一项新增功能,对管理浏览器历史记录提供了支持(支持后退按钮)。 第二点对公共语言运行时的核心改进包括:改进了.NET Framework本机映像的布局、选择不再对完全受信任的程序集进行强名称验证、提高了应用程序启动性能、改进了生成的代码以缩短端对端应用程序执行时间、选择在ASLR(地址空间布局随机化)模式下运行托管代码(如果操作系统支持)。此外,从网络共享打开的托管应用程序在完全受信任环境下
19、运行时与本机 应用程序具有相同的行为。 第三点提高了Windows Presentation Foundation的性能,包括缩短了启动时间,提高了与位图效果有关的性能。WPF的其他新增功能包括:改善了对业务线应用程序、本机初始屏幕、 DirectX 像素着色器的支持,并且新增了WebBrowser控件。 第四点ClickOnce应用程序发行者可以决定在适当情况下不进行签名和加密,开发人员可以编程方式安装ClickOnce应用程序以显示自定义署名,并且ClickOnce错误对话框支持链接到Web上应用程序特定的支持网站。 第五点实体框架是从现有的一套ADO.N ET数据访问技术发展而来的。利用
20、实体框架,开发人员可以按照应用程序特定的域模型(而不是基础数据库模型)来针对关系数据库进行编程。有关更多信息,请参见实体框架入门。实体框架还引入了一些其他功能,包括支持SQL Server 2008的新类型、默认实体图形序列化和实体数据源。在此版本中,实体框架支持SQL Server 2008中的新日期和文件流功能。图形序列化工作可帮助开发人员生成将全部图形建模为数据协定的Windows Communication Foundation (WCF)服务。实体数据源为希望使用实体框架的ASP .NET应用程序构建者提供了传统的数据源体验。 第六点LINQ to SQL新增了对SQL Server
21、2008中的新日期和文件流功能的支持。 第七点ADO. NET Data Services Framework由满足以下条件的模式和库组合而成:支持将数据公开为一项基于REST(具象状态传输)的灵活数据服务,企业网络内部或整个互联网上的 Web客户端都可以使用该服务。ADO.N ET Data Services Framework支持基于任何数据源创建数据服务。通过与 ADO .NET Entity Framework 的充分集成,可以轻松公开基础存储架构的概念视图模型。可以轻松地从任一平台访问使用ADO .NET Data Services Framework创建的服务以及兼容的Window
22、s Live (dev.live .com)服务。针对运行在微软平台上的客户端应用程序提供了一组客户端库,以简化与数据服务的交互。例如,基于.NET Framework的客户端可以使用LINQ查询数据服务,也可以使用简单的.NET Framework对象层更新此服务中的数据。 第八点现在,Windows Communication Foundation改进了对互操作性的支持,增强了部分受信任情况下的调试体验,并且扩展了整合协议支持以便在Web 2.0应用程序中可以进行更广泛的应用,从而使Data Contract序列化程序变得更易于使用。 第九点用于SQL Server(Sql Client)
23、 的.NET Framework数据提供程序新增了对SQL Server 2008中的文件流和稀疏列功能的支持。SQL Server 是一个关系数据库管理系统。它最初是由Microsoft、 Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNI
24、X 操作系统上的应 MS SQL Server 2005SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server 2005不仅可以有效地执行大规模联机事务处理,而且可以完成数据仓库和电子商务应用等许多具有挑战性的工作。 SQL Server 2005 数据引擎是本企业数据管理解决方案的核心。此外 SQL Server 2005 结合了分析、报表、集成和通知功能。这使您
25、的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。 与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。数据字典BloodType 表列名
26、类型长度描述IDInt4自增IDBloodTypeVarchar50血型名称Friends表列名类型长度描述IDInt4自增IDHostIdInt4自己的IDFriendIdInt4好友的IDFriendshipPolicy表列名类型长度描述IDInt 4自增IDFriendshipPolicyVarchar50权限说明Messages表列名类型长度描述IDInt4自增IDFromUserIdInt4来自于哪个IDToUserIdInt4发送到哪个IDMessageVarchar50消息内容MessageTypeIdInt4消息类型MessageStateInt4消息状态MessageTime
27、Dataetime8消息发送时间MessageType表列名类型长度描述IDInt4自增IDMessageTypeVarchar50消息类型Star表列名类型长度描述IDInt4自增IDStarVarchar50星座名称Users表列名类型长度描述IDInt4自增IDLoginPwdVarchar50密码FriendshipPolicyIdInt4是否能加为好友NickNameVarchar50昵称FaceIdInt4头像IDSexVarchar50性别AgeInt4年龄NameVarchar50姓名StarIdInt4星座IDBloodTypeIdInt4血型ID实现本模块功能的主要代码如下
28、:INSERT INTO Users (LoginPwd, NickName, Sex, Age, Name, StarId, BloodTypeId) values (0,1,2,3,4,5,6)SqlCommand command = new SqlCommand(sql, DBHelper.connection);DBHelper.connection.Open(); / 打开数据库连接int result = command.ExecuteNonQuery(); / 执行插入命令if (result = 1) sql = SELECT Identity FROM Users; / 查询
29、新增加的记录的标识号 command.CommandText = sql; / 重新指定Command 对象的SQL 语句 myQQNum = Convert.ToInt32(command.ExecuteScalar(); message = string.Format(注册成功!你的MyQQ号码是0, myQQNum); else message = 注册失败,请重试!; 实现本模块功能的主要代码如下:private void btnLogin_Click(object sender, EventArgs e) bool error = false; / 标志在执行数据库操作的过程中是否出
30、错/ 如果输入验证成功,就验证身份,并转到相应的窗体 if (ValidateInput() int num = 0; / 数据库操作结果 try / 查询用的sql语句 string sql = string.Format(SELECT COUNT(*) FROM Users WHERE Id=0 AND LoginPwd = 1, int.Parse(txtLoginId.Text.Trim(), txtLoginPwd.Text.Trim(); / 创建Command 对象 SqlCommand command = new SqlCommand(sql, DBHelper.connect
31、ion); DBHelper.connection.Open(); / 打开数据库连接 num = Convert.ToInt32(command.ExecuteScalar(); catch (Exception ex) error = true; Console.WriteLine(ex.Message); finally DBHelper.connection.Close(); / 关闭数据库连接 if (!error & (num = 1) / 验证通过 / 设置登录的用户号码 UserHelper.loginId = int.Parse(txtLoginId.Text.Trim(); / 创建主窗体 MainForm mainForm = new MainForm(); mainForm.Show(); / 显示窗体 this.Visible = false; / 当前窗体不可见 else MessageBox.Show(输入的用户名或密码有误!, 登录提示, MessageBoxButtons.OK, MessageBoxIcon.Error); 参考文献1. .NET Framework2. sql server 20053. windows
限制150内