用户登录  |  用户注册
首 页毕业论文毕业设计下载定做交易过程截图支付宝在线支付
当前位置:完美毕业网毕业设计下载计算机毕业设计c#

网络聊天软件的设计与开发-C#

联系方式:点击这里给我发消息QQ212181988
官方主页:www.biye114.com
图片预览: ;论坛转帖
插件情况:
售后服务:请联系客服QQ:212181988
一键分享拿折扣:
  • 好的评价 如果您觉得此软件好,就请您
      0%(0)
  • 差的评价 如果您觉得此软件差,就请您
      0%(0)

软件简介

  本次毕业设计是基于windows平台完成网络聊天软件的设计与开发。本软件是基于客户端/服务器模式,可以实现用户在以太网下和不同在线用户进行聊天以及发送文件和图片。这款软件界面简单,功能实用,操作容易,非常适合在小型局域网中和好友们收发信息和文件互传。相信有个这款小软件,局域网内交互信息一定是一种轻松愉快的享受。
本软件采用C#作为开发语言,在windows7平台下,采用VS2010作为开发工具,数据库选用了适用于小型软件的Microsoft SQL 2008 R2。本软件的设计完成了:用户的登录和注册、用户密码找回、查看在线用户列表、管理自己的用户名和口令、和在线好友进行点对点聊天以及文件互传;管理员可以对全体用户进行信息管理、修改用户密码以及对全体在线用户广播等功能。
本文首先介绍了聊天软件的国内外现状,通过背景资料和相关技术的成熟度,对课题研究的内容进行可行性分析,证明了基于C#的局域网聊天软件的开发前景和可行性。接着通过需求分析,详细地阐明了本软件的主体结构和所需求的功能。系统详细设计中通过文字和图片对软件的每一个具体功能做详细的阐述,完成软件的系统设计。本软件在需求分析中使用UML图展示了整体结构和功能模块。开发中借鉴软件工程中的RUP模型不断迭代开发,完善整体功能。测试中采用回归测试,体现了软件的完整性和健壮性。
关键词:c# C/S模式 局域网聊天
1绪 论

1.1课题研究的背景和意义
1.1.1课题背景
进入二十一世纪,计算机网络发展日新月异,互联网越来越深入的改变着人们生活,大到国际贸易买卖,小到在购物网站挑选自己心仪的商品。如今使用网络技术开发的软件在人们的生活、学习、社交等的各个方面都发挥着不可替代的作用。就像我们熟知的腾讯QQ、MSN、Skype,这些工具使用互联网作为平台,不再受到地域和成本的限制,和传统的信息交流工具相比有着操作方便、价格便宜、实时性好的特点。不仅如此,这些软件在近几年的发展中越来越多的功能被加入,如在线办公、影音文件的传输、文件的共享和转发等,他们越来越成为人们生活和工作的好帮手,越来越方便了我们的日常生活。目前我们使用的大多即时聊天工具是需要接入互联网(例如:QQ、MSN等),但是在某些特定的环境下,例如一些小型的工作组或者企业部门,不需要接入互联网,只需要在局域网内实现简单的聊天和文件互传功能即可,所以局域网聊天软件就应运而生。不需要很大的投资,不需要很多的功能,不需要复杂的平台。本软件就是实现了局域网中的简单即时通讯,具有体积小,安装容易,界面友好,操作简单,功能完善的特点,解决了在局域网中的用户即时沟通的问题。

1.1.2课题研究的国内外情况
即时聊天软件可以说现在我们每个人上网中不可缺少的软件之一,有了它我们可以随时随地和好友们交流信息,发送文件或图片,大大拉近了人与人间的距离。如今国内外完善的即时聊天软件数不胜数,下面对几个常用的即时聊天软件进行分析和介绍。
1.腾讯QQ
我们常用的腾讯QQ(简称“QQ”)是深圳腾讯公司开发的一款基于Internet的即时通信软件。腾讯QQ可以支持在线聊天、视频电话、点对点传文件、共享文件、网络硬盘、自定义面板和QQ邮箱等多种功能,非常方面了我们的生活,并可与移动通讯终端等多种通讯方式相连。QQ2015年继续更新为用户创造良好的通讯体验!标志是一只戴着红色围巾的小企鹅。
腾讯QQ支持在线聊天、视频聊天以及语音聊天、点对点断点续传文件、共享文件、网络硬盘、自定义面板、远程控制、QQ邮箱、传送离线文件等多种功能,并可与移动通讯终端等多种通讯方式相连。1999年02月,腾讯正式推出第一个即时通信软件——“OICQ”,后改名为腾讯QQ。此外QQ还具有与手机聊天、bp机网上寻呼、聊天室、QQ视频聊天、点对点断点续传传输文件、传送离线文件、共享文件、QQ邮箱、网络收藏夹、发送贺卡等,储存文件等功能。QQ不仅仅是简单的即时通信软件,它与全国多家寻呼台、移动通信公司合作,实现传统的无线寻呼网、GSM移动电话的短消息互联,是国内最为流行功能最强的即时通信(IM)软件。腾讯QQ支持在线聊天、即时传送视频、语音和文件等多种多样的功能。同时,QQ还可以与移动通讯终端、IP电话网、无线寻呼等多种通讯方式相连,使QQ不仅仅是单纯意义的网络虚拟呼机,而是一种方便、实用、超高效的即时通信工具。QQ可能是现在在中国被使用次数最多的通讯工具。qq状态分为不在线,离线,忙碌,请勿打扰,离开,隐身,在线,Q我吧。还可以自己编辑qq状态。

2.MSN MESSENGER
MSN Messenger是微软公司推出的即时通讯软件,凭借该软件自身的优秀的性能,目前在国内已经拥有了大量的用户群。
使用MSN Messenger可以与他人进行文字聊天,语音对话,视频会议等即时交流,还可以通过此软件来查看联系人是否联机。
MSN Messenger 界面简洁,易于使用,是与亲人、朋友、工作伙伴保持紧密联系的绝佳选择。使用您已有一个Email地址,即可注册获得免费的MSN Messenger的登录账号。
2013年3月15日,微软公司在除中国内地之外的全球范围内关闭了即时通讯软件MSN Messenger,Skype取而代之。
2014年10月31日,MSN Messenger正式退出中国市场,Skype取而代之。

3.Skype
Skype是一款即时通讯软件,其具备IM所需的功能,比如视频聊天、多人语音会议、多人聊天、传送文件、文字聊天等功能。它可以免费高清晰与其他用户语音对话,也可以拨打国内国际电话,无论固定电话、手机、小灵通均可直接拨打,并且可以实现呼叫转移、短信发送等功能。
Skype是全球免费的语音沟通软件,拥有超过6.63亿的注册用户,最高同时在线超过3000万。
根据TeleGeography研究数据显示,2010年Skype通话时长已占全球国际通话总时长的25%。Skype 用户免费通话时长和计费时长累计已经超过了2500亿分钟。37%的Skype用户用其作为商业用途,超过15%的iPhone 和iPod touch 用户安装了Skype。
2013年3月,微软就在全球范围内关闭了即时通讯软件MSN,Skype取而代之。只需下载Skype,就能使用已有的Messenger用户名登录,现有的MSN联系人也不会丢失。


5.QTalk聊天
QQtalk作为先进的多人语音交流工具,QQTalk具有卓越的性能:它的安装包只有6M左右,相当小巧,即便在运行时也只占用极低的系统资源,不会影响同时进行的其它在线活动;虽然占用资源低,但QQTalk却能够通过领先的语音编码算法最大限度实现语音的连贯性和清晰度,保证清晰流畅的通话质量;同时,QQTalk还使用了先进的P2P技术,能够完美穿越局域网防火墙,因而无论在公司、家里还是网吧,您都能够轻松使用自建语音服务器,实现多人在线语音聊天。 此外,QQTalk还有很多人性化功能和设计,如同时支持官方和自建服务器、提供全热键操作、特别的收藏夹设计、全面支持Vista系统……都让多人语音交流变得更加方便易行。无论是游戏酣战的激烈场面,亲友畅谈的温馨时刻,还是商务沟通的严谨环节,都是QQTalk大展拳脚的重要阵地。

1.1.3课题研究的内容及意义
网络聊天是我们使用因特网中必不可少的一部分,随着互联网的普及,越来越多的网络聊天软件如同雨后春笋般应运而生。我们最常用的就是由深圳腾讯公司开发的腾讯QQ即时聊天软件,QQ自从问世以来已经成为了我们每一个人生活中必不可少的元素,即时的和好友聊天、随时和同学收发文件、查看朋友的动态等等。简而言之即时聊天软件大大的改变了我们每个人的生活方式,作为一名重理工网络工程系的学生我觉得很有必要对这样一款改变我们生活的应用有一个深入的学习和认识,不仅能了解其工作原理,更能拓展自己的视野。
本次的题目设计主要是设计并实现一个简单的C/S模式聊天程序,程序主要分成服务器和客户端两个部分。客户端程序主要实现用户的登录与注册、用户密码找回、用户口令管理、查看在线好友、和好友进行点对点聊天以及文件的互传。服务器程序可以监听不同用户登录、管理登录用户的密码和相关信息和向所有在线用户发送广播等功能。
经过在图书馆查找各种相关书籍,以及在网上查阅相关的文献资料,在分析了软件功能的利与弊后,我觉得一个实用的聊天软件应该把聊天放在首要位置,所以多人的点对点聊天是一个重要的实现目标,其次是文件的传输以及用户的管理。客户端/服务器模式确立了软件的整体架构和需要面向的人群,两个模块功能需要完成不同用户的需求。开发语言我选择了用C#语言来完成本次课程设计的内容,C#语言是面向对象的语言,在开发这类面向用户的界面系统,有着十分便捷直观的优势。
在软件界面的设计上,我遵循原始、实用的界面理念。生活中,我们使用的很多软件界面花花绿绿,功能鱼龙混杂,很容易造成我们眼花缭乱无从下手。我们能用到的功能其实不多,所以原始简介的界面反而会给人一种清新的感觉。
最后,开发这样一款小软件,在简单的局域网中就可以实现多用户间点对点的聊天和文件的互传,简单的登录和密码管理功能也为服务器端提供了简单的用户管理。有了这样一款小软件,必然会使局域网用户通信又增添了新的解决方案,必然会使我在网络应用开发中又有了新的收获。

1.2可行性分析
1.2.1技术可行性
根据应用程序开发所需的技术和实现方式的约束条件分析可得出,基于C/S模式的局域网聊天软件是一个给用户互相交流以及文件资源共享的平台,如今计算机硬件已经发展迅猛,各类局域网中的计算机设备完全可以实现软件的功能需求,所以在局域网下实现一个简易的聊天软件在技术上完全可行。
在硬件方面,CPU:主频1.8GHZ或更高,内存512MB或更高,硬盘80G或更高,网络适配器:支持自适应以太网卡,显示器:支持256色显示器即可,软件对硬件要求相对很低,所以在硬件支持上完全可行。
在软件方面,由于是在win7平台下开发,所以推荐使用win7环境运行系统,数据库需要SQL2008或更高,需安装FrameWork 4.0或更高,安装基础VS软件包。所使用的开发工具是VS2010,是一个十分成熟的开发工具,在不同平台上都有很好的兼容性,而windows7也是windows操作系统中一个比较稳定的平台,在其上开发的软件也有很好的兼容性,所以无论是在安全性,可靠性,可用性,还是可扩展性等方面都是完全能够满足的的。因而软件方面技术是可行的。

1.2.2经济可行性
硬件上,整个软件的开发仅仅使用了一台笔记本电脑,在系统测试的过程使用了同学的电脑配合进行测试。软件上,整个的开发过程使用的win7平台是笔记本自带系统,VS2010和SQL Sever 2008均使用免费版,大大节约了开发成本。软件的相关资料整理和信息的收集,均来源于学校图书馆以及互联网。软件在后续的维护和调试阶段都为本人独自完成,成本均可以控制在可接受的范围内。文档的编写所用软件均是免费版,整个开发过程中开支很小在经济上完全可行。
1.2.3操作可行性
本应用程序是一个客户/服务器模式的局域网聊天软件,由于是在win7平台下开发的窗体应用程序,而windows窗体应用我们已经非常熟悉的操作,再加上QQ等诸多聊天软件平时也有很广泛的使用群体。所以在操作上,C/S模式的局域网聊天软件在操作上完全是可行的。
1.3相关技术概述
1.3.1Microsoft Visual Studio 2010
Visual Studio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 2010同时带来了NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview--CTP),并且支持开发面向Windows 7的应用程序。除了Microsoft SQL Server,它还支持 IBM DB2和Oracle数据库。
Dev-C++灵活又小巧,C++ Builder开发效率高;Turbo C是万人迷,Visual Studio的资格老。可如今,江湖上只剩下最后一个大佬Visual Studio了,其他几位不是支持者渐少,不成气候,就是转投他人怀抱,中道衰落,让人难免生出几分遗憾。但是反过来,我们又对Visual Studio这位“江湖最后的大佬”增添了几分敬仰之情。据说这位老大又要出新的版本了,这些江湖八卦者,哪有错过的道理。要想深入的了解一个人,需要从他的童年开始。想了解Visual Studio,故事也就要从它的1.0开始。
Visual Studio 可以用来创建Windows平台下的 Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office插件。[1] 
1992年4月,微软发布了革命性的操作系统Windows 3.1,把个人计算机引进了真正的视窗时代。微软在原有C++开发工具Microsoft C/C++ 7.0的基础上,开创性地引进了MFC(Microsoft Foundation Classes)库,完善了源代码,成为Microsoft C/C++ 8.0,也就是Visual C++1.0,并于1992年发布。Visual C++ 1.0是真正意义上的Windows IDE,这也是Visual Studio的最初原型。虽然以现在的眼光来看,这个界面非常简陋和粗糙,但是它脱离了DOS界面,让用户可以在图形化的界面下进行开发,把软件开发带入了可视化(Visual)开发的时代。从此,大佬的时代开始了。
9个新功能
它将是经典的一个版本,相当于当年的6.0版。而且它可以自定义开始页;新功能还包括:
(1)C# 4.0中的动态类型和动态编程;
(2)多显示器支持;
(3)使用Visual Studio 2010的特性支持TDD;
(4)支持Office ;
(5)Quick Search特性;
(6)C++ 0x新特性;
(7)IDE增强;
(8)使用Visual C++ 2010创建Ribbon界面;
(9)新增基于.NET平台的语言 F#;
1.3.2SQL Server 2008
SQL Server 2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。
这个平台有以下特点:
· 可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。
· 高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。
· 智能的——提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。
SQL Server 2008 允许使用 Microsoft .NET 和Visual Studio开发的自定义应用程序中使用数据,在面向服务的架构(SOA)和通过 Microsoft BizTalk Server 进行的业务流程中使用数据。信息工作人员可以通过日常使用的工具直接访问数据。
1.3.3Socket技术
网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。
Socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,像一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务。
Socket非常类似于电话插座。以一个国家级电话网为例,电话的通话双方相当于相互通信的2个进程,区号是它的网络地址;区内一个单位的交换机相当于一台主机,主机分配给每个用户的局内号码相当于Socket号。任何用户在通话之前,首先要占有一部电话机,相当于申请一个Socket;同时要知道对方的号码,相当于对方有一个固定的Socket。然后向对方拨号呼叫,相当于发出连接请求(假如对方不在同一区内,还要拨对方区号,相当于给出网络地址)。假如对方在场并空闲(相当于通信的另一主机开机且可以接受连接请求),拿起电话话筒,双方就可以正式通话,相当于连接成功。双方通话的过程,是一方向电话机发出信号和对方从电话机接收信号的过程,相当于向Socket发送数据和从socket接收数据。通话结束后,一方挂起电话机相当于关闭Socket,撤消连接。
在电话系统中,一般用户只能感受到本地电话机和对方电话号码的存在,建立通话的过程,话音传输的过程以及整个电话系统的技术细节对他都是透明的,这也与Socket机制非常相似。Socket利用网间网通信设施实现进程通信,但它对通信设施的细节毫不关心,只要通信设施能提供足够的通信能力,它就满足了。
至此,我们对Socket进行了直观的描述。抽象出来,Socket实质上提供了进程通信的端点。进程通信之前,双方首先必须各自创建一个端点,否则是没有办法建立联系并相互通信的。正如打电话之前,双方必须各自拥有一台电话机一样。
在网间网内部,每一个Socket用一个半相关描述:(协议,本地地址,本地端口)。
一个完整的Socket有一个本地唯一的Socket号,由操作系统分配。
最重要的是,Socket是面向客户/服务器模型而设计的,针对客户和服务器程序提供不同的Socket系统调用。客户随机申请一个Socket(相当于一个想打电话的人可以在任何一台入网电话上拨号呼叫),系统为之分配一个Socket号;服务器拥有全局公认的Socket,任何客户都可以向它发出连接请求和信息请求(相当于一个被呼叫的电话拥有一个呼叫方知道的电话号码)。
Socket利用客户/服务器模式巧妙地解决了进程之间建立通信连接的问题。服务器Socket半相关为全局所公认非常重要。读者不妨考虑一下,两个完全随机的用户进程之间如何建立通信?假如通信双方没有任何一方的Socket固定,就好比打电话的双方彼此不知道对方的电话号码,要通话是不可能的。
1.4论文结构介绍
本文一共分为七个章节。第一章是本文的绪论,绪论的主要内容是对本次毕业设计的整体概述,介绍了课题的发展背景和开发意义以及对整个系统的开发的全局进行可行性分析,介绍了开发所用的平台和相关技术。第二章是整个系统的需求分析,需求分析是从总体上对软件的功能做出描述,本文主要通过功能需求分析和非功能需求分析两个部分对软件的整体功能做出详细剖析;第三章为系统概要设计部分,本文使用了层级图的方式展示系统的功能模块;第四章为数据库设计,通过E-R图和在数据库逻辑图展示系统的数据库内容和主要功能;第五章为系统详细设计,是对系统概要设计的进一步深化和拓展,具体阐明了每个功能模块的设计思想和工作原理;第六章为系统实现,通过对每个模块的具体分析和代码展示,说明具体功能是如何实现的;第七章为结束语,是对本次毕业设计的整体总结和对没有实现的功能的说明,浅谈自己在毕业设计中的收获和对以后学习生活的目标和计划。


2
系统需求分析

2.1系统概述
本软件是为了给局域网内用户开发一个便捷的即时通讯平台。本软件选择客户/服务器模式开发,软件不但界面友好操作容易上手,而且不需要很多的硬件支持遍可以运行,如此简单、易用的小软件必然会给解决局域网中的通信问题提供一个新思路。该软件简单易用,无需复杂的调试,使用者只需进行简单的配置就可以使用。软件使用的流程也很简单,首先打开服务端监听,然后打开客户端的程序,加载预存的IP地址和端口号点击连接服务器,相应输入用户名和口令后用户便可以进入聊天室界面,查看到当前在线用户,用户选择在线的用户后便可以进行聊天和发送文件等操作。发送文件采用点击选择的发送方式,设计实用,操作简单,大大减少了界面的复杂度。接受文件也才用提示的方式,并可以选择保存的目录。服务器端的管理员可以随时修改用户的密码以及添加新的用户,并可以对全体用户进行广播消息。因此本程序分为以下几大模块:用户的登录、用户的注册、密码找回、登陆后查询在线好友、管理口令、点对点聊天、点对点发送文件和图片、服务器端修改用户密码、服务器端新增用户信息、服务器发送广播等。
产品名称如下:
中文名:C/S模式局域网聊天
项目英文名:C/S LAN chat

下载地址

点击此处→注册会员上传设计赚钱
以上是大纲和介绍,如需要完整的资料请在线购买.

软件评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

下载说明

* 本站所有资料均已审核通过,内容原创保密,标准格式,质量保证
* 无需注册,点击在线购买后即可获取该套毕业设计(论文)完整
* 支付后请联系在线客服QQ:212181988发送资料
  • 官方微信