基于c的即时通讯软件设计与实现毕业论.doc_第1页
基于c的即时通讯软件设计与实现毕业论.doc_第2页
基于c的即时通讯软件设计与实现毕业论.doc_第3页
基于c的即时通讯软件设计与实现毕业论.doc_第4页
基于c的即时通讯软件设计与实现毕业论.doc_第5页
已阅读5页,还剩128页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

东北农业大学学士学位论文 学号:A19120334 基于C#的即时通信软件设计与实现 学生姓名:刘宇强指导教师:赵 语所在院系:电气与信息学院所学专业:计算机科学与技术研究方向:软件开发东 北 农 业 大 学中国哈尔滨2016年5月Northeast Agricultural University Bachelors Degree Thesis Student ID:A07050006Design and Implementation of Instant Messaging Software Based on C #Name: YuQiang LiuTutor: Yu ZhaoCollege:College of Electronic and InformationMajor:computer science and technologyDirection:Software development Northeast Agricultural UniversityHarbin ChinaJune 2016基于C#的即时通信软件设计与实现摘 要即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式之一,随之各种各样的即时通讯软件也“井喷式”的涌现;服务提供商也提供了十分丰富的通讯服务功能。伴随着互联网的发展,即时通讯的运用将日益广泛,即时通讯软件业方兴未艾。本文首先描述了即时通讯业的发展历史和发展现状,然后初步探讨了即时通讯所涉及到的一些技术,最后对现有的技术进行了细致的对比和分析,提出了一些可能的改进方案,并且设计了一个以Visual Studio为开发工具,SQLSERVER2008为开发工具的即时通讯系统。 该即时通讯软件是基于B/S的模式的即时通讯系统,通过IE等浏览器直接完成客户端的登录、数据传输,更加便捷了用户之间的通讯和交友;使用最新的Ajax技术,使其非常快,无需等待页面的刷新,实现了即时通讯的功能。 在系统设计与建模过程中,使用了UML和面向对象的分析、设计方法,本系统基于.NET Framework 3.5,使用Visual Studio .NET 2008作为开发工具,将.NET中的一些新技术运用到了系统中;在开发过程中用到了时下流行的重构开发方法,优化了系统的设计。 关键词:C#语言;即时通讯;B/S; AjaxDesign and implementation of instant messaging software based on c #AbstractIm (Instant Messaging) are the most popular way of communication, the Internet and all kinds of Instant Messaging software also emerge in endlessly; Service providers also provide more and more rich communication service functions. With the development of Internet, the use of instant messaging will increasingly extensive, in instant messaging software. This paper describes the development and status quo of instant communications, and then discussed the im involved in some of the techniques, finally analyzes and compares the existing technology, puts forward some possible improvements, and designed a Visual Studio as development tool, SQLSERVER2008 for instant messaging system development tools.The instant messaging software is based on B/S model of instant messaging system, complete client directly by IE browser such as login, data transmission, more convenient communication between the users and friends; Using the latest Ajax technology, make it very fast, without waiting for a page refresh, realized the function of instant messaging.In system design and modeling process, using the UML and object-oriented analysis and design method of this system is based on. NET Framework 3.5, using Visual Studio. NET 2008 as a development tool, the. NET of some new technology used in the system; In the development process used in the reconstruction of the popular development methods, optimize the design of the system.Keywords: C # language. Instant messaging; B/S; Ajax目 录摘 要IAbstractII1 前言11.1 课题背景11.2 国内外发展概况11.2.1 国外发展概况11.2.2 国内发展概况21.3本课题研究的意义21.4本课题研究的内容22需求分析和可行性分析42.1即时消息的一般需求42.2即时通讯系统需求42.3需求分析52.3.1 系统包含的功能52.3.2功能模块52.4系统可行性分析61.4.1经济可行性分析61.4.2人力可行性分析61.4.3技术可行性分析62.5开发环境72.5.1 vs2008开发环境介绍72.5.2 Sql Server 2008介绍72.5.3 C#语言介绍72.5.4关键技术-Ajax简介73 系统设计93.1 系统功能93.2系统基本架构93.3功能模块设计93.4逻辑图113.5数据库设计123.5.1 实体关系图123.5.2详细列表123.5.3存储过程设计133.6系统模块设计153.6.1注册模块153.6.2登录模块163.6.3传输信息模块173.6.4退出系统模块174系统实现194.1注册模块194.2 系统登录模块225 测试235.1测试内容235.2测试结果236结论24参考文献25致 谢26附 录27-IV-基于C#的即时通信软件设计与实现1 前言1.1 课题背景即时通信是一个终端联系一个即时通信网路的服务。即时通信不同于e-mail在于它的交谈是实时的。大部分的即时通信服务提供了presence awareness的特性展示联络人名单,联络人是否在在线和能否与联络人交谈。最早的即时通信软件是ICQ,ICQ是英文中I seek you的谐音,意思是我找你。四名以色列青年于1996年7月成立Mirabilis公司,并在11月份发布了最初的ICQ版本,在六个月内有85万用户注册使用。在因特网上受欢迎的即时通信服务包含了MSN Messenger、AOL Instant Messenger、Yahoo! Messenger、NET Messenger Service、Jabber、ICQ与QQ。 这些服务有赖于许多想法更久的(与普遍)的在线聊天媒介,如Internet Relay Chat一样知名。1970年代早期,一种更早的即时通信形式是柏拉图系统(PLATO system)。之后在1980年代,UNIX/Linux的交谈实时信息被广泛的使用于工程师与学术界,1990年代即时通信更跨越了因特网交流。1996年11月,ICQ是首个广泛被非UNIX/Linux使用者用于因特网的即时通信软件。在ICQ的介绍之后,同时在许多地方有一定数量的即时通信方式发展,且各式的即时通信程序有独立的协议,无法彼此互通。这引导使用者同时执行两个以上的即时通信软件,或者他们可以使用支持多协议的终端软件,如Gaim、Trillian或Jabber。近年来,许多即时通信服务开始提供视讯会议的功能,网络电话(VoIP),与网络会议服务开始整合为兼有影像会议与实时信息的功能。于是,这些媒体的分别变的越来越模糊。1.2 国内外发展概况1.2.1 国外发展概况当今,国际上对网络通信系统研究的较好的公司有,思科,Sun,Ms等公司,思科主要研究的是底层的传输;MS,Sun公司研究的是应用层。其中ms公司凭借其在操作系统的垄断地位,为了在网络的发展中取得先机,采用了各种各样的手段。但是,其捆绑的msn,无论从功能上,还是技术上来说,都不算是非常先进的。当然,ie,同样也不是很受人青睐,这让人想起了,当年的网景公司,网景只是生不逢时。MS不择手段的想打跨网景,可见其对网络的重视。如今,Sun公司在网络应用上捷足先登,凭借着Java,Sun在网络的应用上领先于MS。微软,想用同样的办法搞跨对手,因此它拿出了Visual c#,来对抗Java。这些都是在应用层面的开发工具。应用层上的产品就更显种类繁多。ICQ几乎是国际上通用的即时通信工具,由于在我国它的应用不是很广,所以,其原理也很少被介绍。msn,是MS的产品,同样在国内没什么市场,所以,对其原理,也很少被讨论过。至于ie,是在Visual c+下开发的产品,虽然有严重的安全隐患,不过,至少能在某种程度上代表当今国际研究的水平。此外,国际上最近出先了新的浏览器Firefox,其性能据说是远高于ie,也许在网络的天下,Ms又有了更强劲的对手。1.2.2 国内发展概况国内在应用层上的网络应用软件目前发展异常的火爆,因为我国有着网络应用的最大的市场,现在国内网络的基础性建设发展迅速,应用软件也层出不穷,其中,在游戏的领域中,网络通信的工作做的不错,如联众游戏平台,还有其他的一些平台,这些平台基本上都是基于VC+的,用的都是Socket通信,但是为了效率,这些平台没有用MFC提供的CSocket类,而是直接用Socket进行通信。所以效率上不错。此外,tencent的即时通信,也是做的很好的,从某中程度上来说,代表了国内最高的水平。1.3本课题研究的意义21世纪是信息的时代,随着互联网技术的发展,信息在传递方面也有了崭新的一面。现今聊天软件成为信息传递最为广泛的应用工具,它发挥了即时性通信的特点,可以让用户在第一时间内得到信息的交流,它不仅可以让用户进行文字聊天,而且还增添语音、视频功能。这样可以让网上的好友身临其境的面对面的聊天,让彼此之间更为深入的了解。人性化的设计让每个用户都可以得心应手的使用,从而获得更多人的青睐。Internet的出现连通了整个世界,而聊天软件的出现则连通了每一位网上的用户。随着网络应用的发展,聊天软件已经成为最热门的网络应用之一。经历了近几年突飞猛进的发展之后,即时通讯工具早已不再是简单的互联网通讯工具,它已经成为一个集互动交流、休闲娱乐、信息管理为一体的多元化互联网应用平台。总之,聊天软件的出现给人们彼此之间的沟通带来了无比的方便,人们可以通过聊天软件建立深刻的友情,让人们在互联网上的交流更加充满活力与生机。1.4本课题研究的内容聊天软件作为使用最为广泛的即时性通讯工具,它在拥有文字聊天基础功能的同时,为满足用户的需求,还增加了文件传输的功能,成为现在最为主流的网上应用软件。本论文主要对聊天软件的文字聊天、文件传输功能进行分析与研究,总结出实现的相关理论与知识。本课题主要研究内容包括以下几个方面:(1)查找相关书籍与文献,了解C/S构架并搭建.NET开发平台(2)查找相关资料,学习C#开发语言以及SQLServer数据库的使用,(3)查找现阶段基于局域网的即时通讯软件的发展现状以及相关功能(4)Socket编程技术在上述基础上,做出即时通讯软件的相关功能如下:(1)用户注册功能(2)用户登录功能(3)添加好友功能(4)添加分组功能(5)删除好友功能(6)删除分组功能(7)移动好友到指定分组功能(8)即时聊天功能(9)文件传输功能2需求分析和可行性分析2.1即时消息的一般需求(1)一般即时消息格式需求:所有实体必须至少使用一种消息格式;一般即时消息格式必须定义发信者与即时收件箱的标识;一般即时消息格式必须包含一个让接收者可以回消息的地址;一般即时消息格式应该包含其他通讯方法和联系地址,例如电话号码,邮件地;一般即时信息格式必须允许对信息有效负载的编码和鉴别(非ASCII内容);一般即时信息格式必须反映当前最好的国际化实践;一般即时信息格式必须反映当前最好的可用性实践;必须存在方法,在扩展一般即时消息格式的时候,不影响原有的域;必须提供扩展和注册即时消息格式的模式的机制。(2)可靠性需求 协议必须存在机制,保证即时消息成功投递或者投递失败的时候,发信者获得足够的信息。(3)性能需求即时消息的传输必须足够的迅速;即时消息的内容必须足够丰富;即时消息的长度尽量足够的长。2.2即时通讯系统需求(1)注册需求即时通讯系统允许多个用户注册;一个用户可以注册多个ID;注册所使用的帐号类型为数字或者字母;注册新用户时必须填写符合要求的信息。(2)通讯需求 用户可以传输文本消息;用户的消息可以中转至服务器;用户可以从服务器获取中转的好友消息;(3)好友管理需求用户可以查询好友;用户可以添加好友;用户可以添加多个人为好友,一个用户可以被多个人添加为好友用户可以删除好友;用户可以将好友放在多个组中;用户的好友一次只能属于一个组。(4)状态切换需求用户可以选择登录状态;登录完成后用户可以切换状态(在线,隐身);用户可以注销登录。查看在线好友需求用户登录时列出所有在线好友;用户可以看到新近登录的好友;用户将不在看到临时登出的好友。2.3需求分析此次开发的网络聊天工具可作为企业局域网的交流工具使用,通信的安全性不是很高,但要求信息的响应速度要较快,让用户充分享受到网络即时消息的方便和快捷。本聊天工具由服务器端程序和客户端程序两部分组成,整体采用.NET平台开发,采用UDP通信协议,使用Socket技术。服务器是可以进行监听,记录客户端请求和验证客户端身份的合法性,客户端程序面向实际用户,它有必要的界面的按钮,向用户提供网络即时消息的功能。2.3.1 系统包含的功能本聊天系统需包含如下基本功能:(1)客户端的主要功能:l用户登录l 添加好友 删除好友l 添加分组l 删除分组l 获取好友列表l 与好友聊天l 文件传输(2)服务器端的主要功能:l启动和关闭后台服务器l建立连接l监听客户端请求2.3.2功能模块聊天工具由服务器端和客户端组成,要分析清楚两方面所要完成的任务,对设计来说,等于完成了一半。根据聊天的通信步骤,系统的功能模块如图2-1所示:删除好友、分组功能添加好友、分组功能即时通讯系统建立连接断开连接监听客户请求文件传输功能聊天功能注册、登陆服务器端客户端删除好友、分组功能添加好友、分组功能即时通讯系统建立连接断开连接监听客户请求文件传输功能聊天功能注册、登陆服务器端客户端图2-1 系统功能模块图2.4系统可行性分析可行性分析(FeasibilityAnalysis)也称为可行性研究,是在系统调查的基础上,针对新系统的发开是否具备必要性和可能性,对新系统的开发从各方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。1.4.1经济可行性分析基于局域网、C/S架构的即时通讯系统在许多资料上都能找到,包括书本和网络上都有非常多相似的系统,开发这样一个系统所需要的花费不是很大,需要的开发工具、需要的软件等都方便在网上找到试用版,不用购买。所以不需要花费太多金钱,在经济上完全能够完成本系统的设计。1.4.2人力可行性分析完成本系统不需要太多的人力资源,有老师和同学的帮助,也可以在网上找到与本系统相关的很多资源,在人力资源上能够完成本系统的设计。1.4.3技术可行性分析基于.NET的即时通讯软件是实现一般通讯软件的基本功能(登录,聊天,添加好友,退出),没有十分复杂的其他功能,如:修改好友名称、修改皮肤,截图等。还会有一些简单的通讯功能,如:登录、添加好友、与好友聊天、传输文件等基本的功能,这些都能够运用大学所掌握的专业知识实现。本系统使用的编程语言是C#语言,所使用的平台是.NET平台,对于VS2010的使用还是比较熟悉。虽然没有系统的学习过C#编程。对于C#的一些知识有所欠缺,但是,学校开设了C#课程,使自己对于C#编程语言有一定了解,能够在短时间之内掌握一些基本的C#知识。完成这个通讯软件的基础知识大都已经具备,同时,在网络上有许多开源社区,有很多开源爱好者,能够查到许多开源源代码,自己能够充分运用这些网络资源,完成这个毕业设计。2.5开发环境2.5.1 vs2008开发环境介绍 Visual Studio是微软公司出品的一款大型应用软件,是一套完整的开发工具集,它主要用于生成ASP.NET Web应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C+、Visual C# 和Visual J# 全都使用相同的集成开发环境(IDE)。利用此IDE可以共享工具且有助于创建混合语言解决方案,使程序可以使用不同的语言共同开发。NET开发平台由一组用于建立Web服务应用程序和Windows桌面应用程序的软件组件构成,包括.NET框架(Framework)、.NET开发工具和ASP.NET。Visual Studio 2003的集成开发环境中为开发人员提供了大量的实用工具以提高工作效率。这些工具包括了自动编译、项目创建向导、创建部署工程等。2.5.2 Sql Server 2008介绍SQL Server2000由一系列相互协作的组件构成,能满足最大的Web站点和企业数据处理系统存储和分析数据的需要。SQLServer构架各种组件通过何种方式发挥合力,更富成效地管理数据。 SQL Server2000数据库引擎提供完整的XML支持。它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server2000程序设计模型与WindowsDNA构架集成,用以开发Web应用程序,并且SQL Server2000支持EnglishQuery和 Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。2.5.3 C#语言介绍C#是一种语言,它是专门为了微软的.NET战略而设计的一种语言. C#也叫C#.Net。2.5.4关键技术-Ajax简介Ajax 是异步JavaScript和XML(Asynchronous JavaScript and XML)的英文缩写。“Ajax”这个名词的发明人是Jesse James Garrett,而大力推广并且使Ajax技术炙手可热的是Google。Google发布的Gmail,Google Suggest等应用最终让人们了解了什么是Ajax。Ajax的核心理念在于使用XMLHttpRequest对象发送异步请求,最初为XMLHttpRequest对象提供浏览器支持的微软公司。早在1998年,微软公司开发Web版Outlook时,就已经以ActiveX控件的方式为XMLHttpRequest提供了支持。Ajax是使用客户端脚本与Web服务器交换数据的Web应用开发方法。这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,用户可以创建接近本地桌面应用的直接、高可用、更丰富、更动态的Web用户界面。实际上,Ajax不是一种技术,而是几种技术。每种技术都具有独特之处,合在一起就形成了一个功能强大的新技术。Ajax包括:1) XHTML和CSS;2) 使用文档对象模型进行动态显示和交互;3) 使用XML和XSLT进行数据交互和操作;4) 使用XMLHttpRequest进行异步数据接收;5) 使用JavaScript将它们绑定在一起。3 系统设计3.1 系统功能软件针对局域网内部用户,实现用户间的即时通信。需要分别实现服务器端和客户端的软件设计。服务器端负责监听用户连接请求,负责连接数据库存储用户信息,负责发送给用户好友信息,负责发送心跳报文检查用户在线状态并即时让用户更新好友在新信息。客户端发起主动连接,向服务器请求登录或者注册。客户端可以修改昵称,可以加已知用户为好友(类似于MSN的好友添加功能)。客户端之间可以发起P2P模式的聊天,可以传送文件。3.2系统基本架构基于C/S架构的即时通信软件便于对用户信息进行统一管理和保存,面向特定的用户,对信息的安全控制能力很强。为了减轻服务器负担,客户端之间的信息传递是采用P2P模式的,服务器只负责用户的注册,登录和用户在线状态的检验。基本结构如图:图3-1 系统基本架构3.3功能模块设计CLIENT:注册:可以完成客户端注册,客户端可以通过填写信息进行注册,信息被发送到服务器端。登录:客户可以输入账号和密码进行登录,客户端会发送登录信息等待服务器响应,登录成功后会发出登录成功信息并刷新好友列表。修改:密码修改:应该有密码修改功能信息修改:可以更改一些注册信息通信:即时聊天模块:客户端与客户端之间建立线程进行即时聊天,也包含有简单的对称加解密算法功能。好友列表:可以对好友列表进行添加删除等动作文件传输:文件传输:文件传输功能SERVER:注册回应:对客户端传送的注册信息进行判断。HASH加密:对用户的账号和密码信息进行HASH加密重复用户检查:将加密后信息与已存在账号进行比较,检查是否账号已存在,如果存在就返回错误信息注册成功:将可成功注册的用户账号和密码写入数据库内,并向客户端返回成功信息修改回应:对密码和信息修改请求进行判断,执行和返回修改成功信息登录回应:对登录的账号和密码进行加密检查后发回正确或错误情况,并记录上线信息好友列表发送:给成功登录的账号发送好友列表及好友上线信息上线信息发送:给成功登录的账号的好友发送在线信息(包括IP,端口等等信息)在线情况:对登录,在线,离线的用户情况进行统计,记录和通知心跳测试:每隔一段时间发送报文测试用户是否因意外原因离线情况记录:将用户登录时间,IP,下线时间等信息记录入数据库3.4逻辑图图2 逻辑图3.5数据库设计3.5.1 实体关系图服务器是作为记录和读取数据库信息的载体,与客户端关系并不复杂,这里需要重点考虑客户端之间的关系。用户与用户之间的关系是较为特殊的递归关系,即描述发生在两个相同实体上的关系。E-R图如下:聊天文件传输nn用户ID好友ID状态IP客户端账号昵称EmailID密码好友分组状态客户端账号昵称EmailID密码好友分组IP图3 E-R图3.5.2详细列表数据库包含两个表,分别为记录用户信息的TCP_Userinfo和记录用户好友信息的TCP_Friendinfo。详细设计见下面两表:表3-1 用户信息表TCP_UserInfoTCP_Userinfo列(属性)名类型主键宽度是否允许为空备注UserIDnumericY9NOT NULL自增长UserAccountncharN20NOT NULL用户帐号UserNicknamencharN20NOT NULL用户昵称,可重复UserEmailncharN20NOT NULL用户EMAILJoinDatencharN35NOT NULL注册日期LastLoginncharY20NOT NULL最后登录IPUserIPncharY20NOT NULL用户IPUserFavvarcharN100NOT NULL用户好友分组,有默认值UserQuestionncharY20NOT NULL密码问题UserAnswerncharY20NOT NULL密码答案UserPasswordncharN20NOT NULL用户密码UserOnlineintN4NOT NULL在线状态,1在,0不在表3-2 用户好友表TCP_FriendInfoTCP_Userinfo列(属性)名类型主键宽度是否允许为空备注InfoIDnumericY9NOT NULL自增长UserIDncharN20NOT NULL用户IDFriendIDncharN20NOT NULL用户好友IDFriendGroupncharN20NOT NULL用户好友分组3.5.3存储过程设计为了提高执行效率,并且简化数据库访问的复杂程度,本系统设计了相应的存储过程完成基本的数据库相关功能。根据对本系统的分析共创建了5个基本的存储过程:用户登录存储过程:UserLogin ;用户注销存储过程:UserLogout;发送消息存储过程:SendMessage ;最近聊天记录存储过程:GetRecentMsg ;获取最新消息存储过程:GetNewMessage。用户登录存储过程UserLogin实现用户的登录功能,如果成功登录则返回0,反之则返回1;用户注销存储过程UserLogout实现用户的登出功能,如果成功登出则返回0,反之则返回1;发送消息存储过程SendMessage 首先对发送者和接收者的用户名进行检查,然后再插入新的聊天记录;最近聊天记录存储过程:GetRecentMsg 的作用是返回最近两个用户之间的聊天记录;获取最新消息存储过程GetNewMessage 根据数据库message表中的msg_id字段判断哪些是新消息,凡是消息ID大于msg_id字段的均是新消息。 3.6系统功能分析与设计本系统的主要任务是提供用户之间实时的交流,方便用户之间相互的沟通。系统登录。登录模块采用基于标准的MVC架构的开发模式。与一般的登录系统相似,主要是对登录用户的身份进行合法性验证。登录状态分为两种:在线、隐身。根据自己的需求选择登录方式。登录状态切换。当用户登录后还可以重新选择登录状态,通过选择下拉列表的选项可以切换用户的登录状态是在线或者隐身。或者单击“注销”按钮,将注销用户的登录。用户列表查看。当用户登录成功后,系统将显示给用户他的所有在线好友,并且实时的更新用户列表:当有好友登录后将即时的显示在用户列表中;当有好友临时退出系统后将在用户列表中消失。消息提示。我们设计了一个类似于QQ提示框的小窗口,定时的检查是否有新消息,如果有的话弹出这个窗口,用户可以即时回复消息。查看近期消息。当加载消息发送页面的时候,会首先加载若干条近期的聊天记录,帮助用户回顾以往的聊天内容。发送消息。用户选择发送对象后,直接进行发送。接收消息。在消息发送后接收者能够实时接收消息。 根据需求分析和功能说明,开始系统的图形化建模,本系统的功能说明图3-3所示:图3-4 系统功能说明图即时通讯系统执行者Client:web-msn登录端,使用web-msn进行即时通讯的人Server:web-msn服务端,对用户进行注册、登录、资料管理的角色DBServer:web-msn数据库服务器,保存用户数据的角色MsgSender:端对端传输消息或这文件时的发送端MsgReceiver:端对端传输消息或者文件时的接受端其中,MsgSender和MsgReceiver从属于Client即时通讯系统用例说明注册:使用者通过注册成为web-msn用户;登录:连接服务器获得服务;更改状态:更改自己在服务器的状态,状态分为:在线、隐身;更改资料:更改自己的资料并保存在数据库服务器;查找好友:从服务器获得好友信息;传输信息:传送文本信息或者富文本信息给好友;退出系统:从服务器退出,取消服务; 3.6系统模块设计3.6.1注册模块 图4-4 注册用例图注册用例图用例说明:填写注册信息检查信息格式新注册申请传输注册数据生成新帐号添加新用户命令在数据库中添加新用户3.6.2登录模块图4-5 登录用例图登录用例图用例说明:a) 输入登录信息b) 发送登录请求c) 验证登录信息d) 传输好友列表e) 刷新在线用户列表f) 通知好友上线g) 改变好友状态h) 读取用户数据命令i) 从数据库中读取用户信息3.6.3传输信息模块 图4-6 传输信息用例图在线传输信息用例图用例:a) 选择发送内容b) 传输信息c) 显示信息3.6.4退出系统模块 图4-7 退出系统用例图退出系统用例a) 退出web-msnb) 发送退出消息c) 刷新在线用户列表d) 通知好友下线e) 改变好友状态f) 更改用户状态命令g) 在数据库中更改用户状态数据4系统实现4.1注册模块如果用户名不存在,则可以使用此用户名,然后输入用户的密码、真实姓名、性别个性签名等成功注册。注册模块如图4-1所示。图4-1 系统注册模块图主要代码实现如下:public partial class RegisterForm : Form public RegisterForm() InitializeComponent(); / 窗体加载时,添加星座和血型组合框中的项 private void ApplyForm_Load(object sender, EventArgs e) / 查询星座用的sql语句 string sql = SELECT Star FROM Star; bool error = false; / 标识操作数据库是否会出错 try / 添加星座组合框中的项 SqlCommand command = new SqlCommand(sql, DBHelper.connection); DBHelper.connection.Open(); SqlDataReader reader = command.ExecuteReader(); / 执行查询 while (reader.Read() cboStar.Items.Add(string)reader0); reader.Close(); / 添加血型组合框中的项 sql = SELECT BloodType FROM BloodType; / 修改查询语句,查询血型 command.CommandText = sql; reader = command.ExecuteReader(); while (reader.Read() cboBloodType.Items.Add(string)reader0); reader.Close(); catch (Exception ex) error = true; Console.WriteLine(ex.Message); finally DBHelper.connection.Close(); / 出错了 if (error) MessageBox.Show(服务器出现以外错误!,抱歉,MessageBoxButtons.OK,MessageBoxIcon.Error); 确认信息填写无误后,点击注册按钮就可注册成功,如图4-2所示: 4.2 系统登录模块本部分主要用于用户的登录,只有在注册后才可以进入系统,用户登录时将按照用户名和密码进行验证,当输入错误时会出现相应的提示,当用户名和密码都正确时进入程序主界面,才能进行日常管理工作。该模块的界面设计如图4-3所示。 5 测试由于开发占据了我大部分的精力和时间,平时所作的测试也就是一些手工的调试和边界的黑盒测试,在这里只是列举我测试的一些范围,不做详细描叙。 5.1测试内容 1注册功能测试;2在线好友实时更新测试3发送消息功能测试;4查看近期消息功能测试;5接收消息功能测试。 5.2测试结果以上的测试案例是单独进行测试的,还需要进一步的交叉案例测试。通过以上简单测试说明了设计方法的正确性,它已经初步符合了即时通讯系统的基本要求即时,具有良好的检测性能和准确的检测结果。但系统构架和代码设计还需要进一步优化,以提高系统的运行效率,降低所耗的系统资源,为用户提供更好的服务。- 29 -6结论本次对即时通讯的课题研究涉及到了即时通讯协议的定制;即时通讯服务模式的探讨; 即时通讯系统建模、设计到实现的一系列过程,重点讲叙了Ajax 新技术的使用等知识,也介绍了相关的社会科学理论以及与即时通讯软件的紧密结合,纵观即时通讯事业的壮大和发展,即时通讯的服务功能将会越来越丰富和完善,并必将更加深入地渗透到我们的日常生活中来,及时的研究即时通讯技术,无论是对我们的研究还是生活,都将带来相当大的影响。由于时间的限制以及本能能力所及,即时通讯软件的各种功能还只是处于初步实现阶段,在接下来的时间里,如果有机会的话,我将进一步的深入和拓展即时通讯的功能。下一步即时通讯的发展将会重点放在某一个领域,比如说教育业,然后将此领域的相关特色与即时通讯的功能紧密结合,做成一个专业的即时通讯软件。参考文献1 刘晓华.精通.NET核心技术M. 北京:电子工业出版社,2012。2 马军. 精通ASP.NET2.0网络应用系统开发M.北京:人民邮电出版社,2006。3 马万宝. ASP.NET技术详解与应用实例M. 北京:兵器工业出版社,2006。4 施伟伟,张蓓. 征服Ajax Web 2.0快速入门与项目实践M. 北京:人民邮电出版社,2006。5 夏慧军,魏雪辉. 深入浅出AjaxM. 北京:电子工业出版社,2006。6 方睿,刁仁宏,吴四九等. 网络数据库原理及应用M. 成都:四川大学出版社,2005。7 龙帅. 深入浅出SQL SERVER数据库开发M. 北京:中国青年出版社,2006。(致谢标题,字体:小二,黑体;段落:居中,段前:0.5行,段后:0.5行,单倍行距;致谢两字间空两格)致 谢伴随着历时半年的毕业设计的结束,我也即将告别我的大学生活。在本次设计中。大学的四年的学习生活即将结束之际,毕业论文就成了我们这四年来学习成果的检验和总结,同时也是对我们能力的一种测试。首先我要特别感谢专业课的所有老师们,是他们在我的专业课的学习过程中无私的教授给我许多专业知识和技能,使我能够在论文写作的过程中顺利解决难题和疑问。其次,在这次论文写作过程中,非常感谢老师给予我的耐心指导和帮助。同时,我也要感谢三年来所有赐予我知识和帮助的老师们,是你们共同帮助我成长,促使我进步的。我知道老师们最大的心愿就是让自己的学生能够有能力在未来的社会中有所成就,为国家贡献自己的最大力量。在今后的日子里,我一定会牢记老师的教诲,努力做一个对社会有用的人。至此,在论文完成之际,向计算机软件专业的全体老师们献上我最真挚的祝福和谢意,祝各位老师身体健康工作顺利!最后请允许我再说一声:“老师,您辛苦了!”(附录标题,字体:小二,黑体;段落:居中,段前:0.5行,段后:0.5行,单倍行距;附录两字间空两格)附 录附录正文超过一个附录时:附录按顺序排列为“附录1 题目”、“附录2 题目”附录1 DSP芯片TMS320VC33(附录正文字体:中文五号宋体、英文五号Times New Roman;段落:两端对齐,首行缩进2字符,单倍行距;文中标点用中文全角)高性能浮点DSP芯片TMS320VC33是TI公司推出的TMS320C3X系列新一代浮点DSP,它是在原来的TMS320C31浮点DSP的基础上开发的一个价格更低的版本,该产品以高速、低功耗、低成本、易于开发为显著特点。由于它采用了内部1.8V、外部3.3V供电,因而功耗比原有型号降低了大约一个数量级,而且能支持高达150 M / FLOPS的运行速度,是需浮点运算的便携式产品应用场合中的一种理想的DSP器件。附录2 设计的实物图附图1 DSP数据采集板(附录

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论