计算机毕业设计85UDP局域网QQ聊天程序设计说明书.docx
- 文档编号:28620666
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:59
- 大小:336.28KB
计算机毕业设计85UDP局域网QQ聊天程序设计说明书.docx
《计算机毕业设计85UDP局域网QQ聊天程序设计说明书.docx》由会员分享,可在线阅读,更多相关《计算机毕业设计85UDP局域网QQ聊天程序设计说明书.docx(59页珍藏版)》请在冰豆网上搜索。
计算机毕业设计85UDP局域网QQ聊天程序设计说明书
摘要
随着网络技术的发展及人们生活的需求,网络聊天已越来越受到人们的青睐。
网络聊天已经成为人们工作生活中传递信息、交流感情的重要工具,给人们带来了很大的方便。
本设计开发的是一个局域网QQ聊天软件,运用软件工程的设计流程,使用现在比较普遍和流行的C#语言,采用面向对象的方法,综合运用数据库编程技术、多线程开发技术、网络通讯技术,以MicrosoftVisualStudio2005作为系统前台应用程序开发工具,MicrosoftSQLServer2000作为后台数据库管理系统,在WindowsXP平台下进行开发。
本局域网QQ聊天软件采用服务器端/客户端(C/S)模式。
客户端采用UDP与服务器连接,客户端之间也是通过UDP互相通讯。
服务器端主要用于开启和关闭UDP协议的监听服务,还可以查看局域网内已注册的所有的用户以及他们的在线状态。
客户端分为注册窗口、登录窗口、QQ窗体主界面以及聊天界面。
服务器端要先开启监听服务,客户端才可以进行登录,然后才可以与其他登录的在线用户进行文本信息的聊天,还可以进行点对点的语音聊天,视频聊天和文件传输,还可以进行拍照和录像等。
此外,还对该软件进行了皮肤的加载以及打包成安装源。
该软件运行稳定,界面美观、操作简便。
在局域网内部使用该局域网QQ聊天软件,可以方便人与人之间的沟通、交流;可以大大提高企业的工作效率;拉近人与人之间的关系。
关键词:
局域网;聊天软件;客户端;服务器端;UDP协议
Abstract
Withthedevelopmentofnetworkingtechnologyandthelivingdemandofpeople,chattingonnetworkismoreandmoreacceptablebypeople.Internetchathasbecomeanimportanttooltotransmissionofinformationandexchangeoffeelingsinourlife,itbringsagreatconvenience.
ThetopicofthispaperisgoingtotalkaboutthattodevelopthelocalareanetworkQQchatsoftware.Thislocalareanetworkchatsoftwareusingthedesignstreamofthesoftwareproject,usingtheC#languagewhichisverycommonandpopular,usingtheobject-orientedapproach,thetechnologyofthedatabaseprogramming,multi-threadingdevelopmenttechnologyandthenetworkcommunicationtechnology,makesMicrosoftVisualStudio2005asthefrontapplicationdesigntool,MicrosoftSQLServer2000areusedasthebackgroundDBMS(thedatabasemanagementsystem),anditwasprogrammedintheWindowsXPSystem.
ThelocalareanetworkQQchatsoftwareusestheserverandclient(C/S)mechanism.AndtheclientconnectstheserverusingUDP,andtheycommunicateeachotherbyUDP.Server-sideismainlyusedtoopenandclosetheUDPprotocolmonitoringservice,andyoucanalsolookoveralltheregisteredusersandtheironlinestatuswhominthelocalareanetwork.Clientisdividedintoregistrationwindow,theloginwindow,themainQQformandthechatform.Iftheclientwantstologin,theservermonitoringservicemustfirstopenthelisteningservice,thentheclientcanchatwiththeotherswhichhavealreadylogged,andalsocanvoicechat,videochatandfilestransfers,andalsocantakepicturesandvideos.Inaddition,thesoftwarehasbeenloadthebeautifulskinandpackageintotheinstallationsource.
Thissoftwarehasaninterfaceaesthetics,stableoperation,simpleoperation.UsingQQsoftwareintheLANinternalcanhelppeopletocommunicatewithotherseasily,cangreatlyimprovetheefficiencyoftheenterprises,closerelationshipsbetweenpeople.
KeyWords:
LocalAreaNetwork;ChatSoftware;Client;Server-side;UDPprotocol
引言
在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。
网络聊天已经成为人们工作生活中传递信息、交流感情的重要工具。
网络版的聊天软件种类繁多,如QQ、OICQ、MSN等,给人们带来了很大的方便,也使世界好象一下子缩小了,不管在哪里,只要能上网,打开这些软件,就可以给朋友发信息,不管对方是否也同时在线,只要知道对方的号码。
但是这些聊天软件也存在以下不足:
用户必须连接Internet;用户在工作时容易沉迷于网络聊天。
为了方便单位企业内部的信息交流,减少不必要的财力和人力资源浪费,开发一个局域网聊天软件是非常必要的。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
计算机应用技术在日益的普及,网络也遍及到生活的每个角落,很好的利用这些资源,将为人们的工作和学习,带来极大的方便和提高工作效率。
现在,企业、机关、学校都建立起了自己的局域网,在局域网,虽然可以通过文件共享的方式进行通讯,但单单使用这种方式,是非常不方便的,首先,在局域网里的网上邻居里,只能看到机器名,不清楚对方是谁,也不知道对方机器里有什么资源可以共享,而且,当局域网的机器很多时,这种方式更加麻烦。
于是,就想到做一个在局域网里的聊天软件,在局域网里,可以通过它,实现在局域网里方便的联络,进行文件传输,消息的发布,还可以语音、视频等。
所以,开发一个局域网里的基于C/S模式的QQ聊天软件,是十分必要。
在学校建立起校园网里,局域网聊天系统可以起到方便同学之间,教师之间,师生之间的相互联络,这样,不用上Internet,可以节省资源,在学校这个大环境里,就可以同学之间联系,联络感情,促进同学之间的友谊,学生可以通过它来与不同寝室的同学,教师讨论问题。
并能最大限度地利用现有的网络资源,极大地提高工作效率。
为了适应校园网的建设,实现校园网内进行消息发布,学生交流,师生交流,网上作业等功能。
在公司企业建立起的局域网里,应用于局域网内企业(组织)内部成员之间的交流领域,在没有因特网的支持下也可以进行即时通讯,亦因此使之更安全、更高效;同时因为它界面简洁实用,没有娱乐功能,所以简单易用,是企业(组织)成员更加专注于工作,减少不必要的财力和人力资源浪费。
因此,本毕业设计开发了一个局域网的QQ聊天软件。
该聊天软件分为服务器端和客户端,采用的是C#语言,在WindowsXP系统下,使用的开发工具是MicrosoftVisualStudio2005,运行于.NET平台上,使用SQLServer2000作为后台的数据库管理。
为实现和方便客户端之间的通信,在客户端进行了人性化的界面设计,用户可以进行注册,注册后,凭借用户名和密码就可以登陆到QQ聊天界面,然后就可以与其他的在线用户进行局域网内部的文本聊天、语音聊天、视频聊天和文件的传输。
1系统概述与需求分析
1.1系统概述
该局域网QQ聊天软件操作简单方便、界面简洁。
该系统分为客户端和服务器端。
前台为客户端,包括的主要功能有用户注册、用户登陆、文字聊天、文件传输、语音聊天和视频聊天等功能。
后台为服务器端,主要功能包括:
数据库的建立、查看用户的状态、管理用户的资料、开启和关闭服务器的监听等功能。
服务器端直接与数据库相连,服务器端要先开启监听,然后客户端登陆的时候要与服务器端进行通信,服务器端进行验证客户端的用户名和密码。
客户端经过服务器端的验证后,才可以登陆成功。
本软件还对客户端的各个窗口进行了皮肤加载,使界面看起来更加的美观、大方。
本局域网QQ聊天软件还具有系统托盘和右键菜单的功能。
每个客户端只能进行一次并且只需注册一次。
用户登录成功之后,可以看到局域网内所有的在线和不在线的的注册用户。
用鼠标双击打开某一个在线的用户的聊天窗口,就可以与该用户进行文字信息的互发与接收,可以利用本地的摄像头进行录像和拍照,还可以与对方进行点对点的视频、语音和传输文件等操作。
本系统运行比较的稳定、安全可靠。
此外,本软件还对源程序进行了打包成安装源,便于用户使用的时候进行安装。
安装源也分为客户端和服务器的安装源。
一般的局域网用户只需要安装客户端即可。
1.2需求分析
近年来,随着全球信息化进程的不断发展,网络也在飞速发展。
出于高效、快速地处理各种事务的目的,越来越多的企业在其内部使用局域网来进行工作。
在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。
然而,随着企业规模的不断扩大,业务量的不断增加,企业内部的信息越来越私密,企业只希望员工通过内部局域网进行沟通与交流,避免企业内部机密通过Internet泄露到外部。
为了解决上述矛盾,人们提出了开发局域网聊天软件的构想,通过局域网聊天软件,企业员工可以随时的与局域网内部的用户进行即时消息的传递,召开网络会议,进行语音视频和文件的传输等,有利于提高工作消息效率,同时又保护了企业内部信息的安全性。
本局域网QQ聊天软件主要是采用MicrosoftVisualStudio2005结合SQLSever2000数据库技术,采用C#语言来实现各功能模块的开发。
开发出来的软件必须结构比较的合理、功能比较的齐全、使用起来比较的方便。
该局域网QQ聊天软件开发的重点和难点是客户端和服务器端与数据库的连接,建立连接后还要保证通信的畅通性和正确性。
此外要实现在两个客户端之间实现点对点的文件传输,语音聊天以及视频等功能,也是本局域网QQ聊天软件开发的难点。
此外,还要着重处理好各模块间的划分以及模块间的连接。
在开发中应注意系统性能的优化,数据库的安全和优化,尽可能的提高系统的安全性和整个系统的运行的稳定性。
同时,开发出来的软件系统还必需功能完备、安全性高、易于维护和使用,操作也要简单、方便,界面也要简洁、美观、大方。
1.2.1功能需求
网络聊天已经成为人们工作生活中传递信息、交流感情的重要工具。
网络版的聊天软件种类繁多,如QQ、OICQ、MSN等,实现了随时随地上网聊天,给人们带来了很大的方便。
但是这些聊天软件也存在以下不足:
用户必须连接Internet;用户在工作时容易沉迷于网络聊天。
为了方便单位企业内部的信息交流,减少不必要的财力和人力资源浪费,开发一个局域网聊天软件是非常必要的。
开发该局域网聊天软件需要完成以下的几个要求,以便于用户进行操作。
这样才能使该软件易学易用、更加的人性化。
(1)合理的设计数据库
尽量合理地减少数据库数据的冗余,使重复的数据保持在最小限度,这样将不必要的多占用存储空间,减少产生混乱影响的危险,还能提高计算机的运行速度。
(2)设计出友好的界面
界面的友好与否是用户评价一个软件优劣的重要方面之一,使用户有一个良好的心情。
另外窗口界面的各个控件布局要合理,美观。
要充分的利用MicrosoftVisualStudio.Net2005提供的强大的功能。
(3)根据局域网对QQ聊天软件的要求,本QQ聊天软件需要实现以下的目标:
①操作简单方便、界面简洁美观
②每个客户端只能注册一次
③可以在局域网中实现文字的传输
④可以实现多用户的信息通信
⑤可以实现两个用户之间的点对点的语音聊天
⑥可以实现两个用户之间的点对点的视频聊天
⑦可以使用本地的摄像头的进行录像和拍照
⑧可以实现两个用户之间点对点的文件的传输和接收
⑨系统运行要比较的稳定、安全可靠
1.2.2性能需求
(1)可靠性高,能在由于系统问题或其它原因产生错误后,作出相对应处理,比如网络初始化失败、服务器未启动等,可以提示用户安全退出本程序,在出现不可知的错误以后,可以尽量安全的退出程序。
在程序的设计过程中,要求能尽可能多的设想到用户使用过程中可能发生的事件,并能在判断事件后做出相应的处理,使程序具有较高的容错性能。
(2)易操作性,程序简单易懂,容易上手使用。
设计界面是,简化界面的复杂性,模拟QQ等现有即时通讯工具的界面,使用户能很容易看懂并使用。
(3)模块化设计此软件的功能,不同的模块实现不同的功能,使得软件易于以后的维护与扩展,在以后可以更好的完善本软件的功能,更方便于在工作中的应用。
1.3可行性分析
可行性研究的目的就是要用最小的代价在尽可能短的时间内确定问题是否能够解决。
可行性研究可以在较高的层次以比较抽象的方式讨论系统的分析和设计。
本局域网QQ聊天软件的可行性研究主要从技术可行性、经济可行性、开发可行性和现有的条件四个方面来进行讨论。
(1)技术可行性
随着国内软件开发的日益发展壮大,各种中小企事业单位和学校等部门已具备独立开发各种类型的应用软件的能力,能够满足不同行业的特别的需求。
而本局域网QQ聊天软件其在组织关系上并不存在着很大的复杂性,繁琐性,从整个系统的技术构成上来看,它是属于一个与数据库应用有关的软件,使用的是UDP协议。
只要对C#语言比较的熟悉,对UDP协议以及Microsoft的API函数相对比较了解的话,开发出这样的一个系统,并不存在很大的困难。
(2)经济可行性
对于整个系统而言,并不需要花费太多的经费。
只要一两个人或者一个小团队,即可以完成系统的开发。
(3)开发可行性
本局域网QQ聊天软件采用的是MicrosoftVisualStudio.Net2005作为开发工具,利用SQLServer2000对数据库表进行存储,提供数据之间的操作。
首先MicrosoftVisualStudio.Net2005是一个开放的协作式系统,可以连接许多比较常用的数据库。
其次它具有可视化的开发环境,使代码的编写比较的直观,并且在可视化环境下的调试和维护也相对比较容易。
再次MicrosoftVisualStudio.Net2005提供了大量的控件,这既丰富了应用程序的表达能力,也加快了项目的开发速度。
(4)现有设备及实验条件:
①计算机:
GenuineIntel(R)CPU2140@1.60GHz
1G内存,160G硬盘
②系统:
MicrosoftWindowsXPProfessional版本2002ServicePack3
③软件:
MicrosoftVisualStudio2005
MicrosoftSQLServer2000
以上的设备,对于开发出一个功能比较完备,性能比较完善的局域网QQ聊天软件,已经足够了。
2系统总体设计
2.1相关开发技术的原理性说明
2.1.1.NETFramework和C#
本局域网QQ聊天软件的开发采用的是C/S结构,基于.NET开发环境下,使用C#语言进行开发。
C#是一种精确、简单、类型安全、面向对象的语言,是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言。
并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员AndersHejlsberg的最新成果.C#看起来与java有着惊人的相似;它包括了诸如单一继承,接口,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。
C#的特点:
(1)完全面向对象。
(2)支持分布式,处理过程可以分布在客户机和服务器上。
C#能很好的解决分布式问题。
(3)跟Java类似,C#代码经过编译后,成为了一种IL(中间语言)。
在运行时,再把IL编译为平台专用的代码。
(4)健壮,C#在检查程序错误和编译与运行时错误一点也不逊于Java,C#也用了自动管理内存机制。
(5)C#不像Java那样完全摒弃了指针和手动内存管理。
C#默认情况下是不能使用指针的,程序员在有必要时可以打开指针来使用。
这样可以保证编程的灵活性。
(6)安全性:
C#的安全性是有.net平台来提供的。
C#代码编译后成为IL语言。
是一种受控代码,.net提供类型安全检查等机制保证代码是安全的。
(7)可移植性:
由于C#使用类似Java的中间语言机制。
使得C#也跟Java类似,可以很方便的移植到其他系统。
在运行时,再把中间代码编译为适合特定机器的代码。
(8)解释性:
C#也是一种特殊的解释性语言。
(9)高性能:
C#把代码编译成中间语言后,可以高效的执行程序。
(10)多线程:
与Java类似,可以由一个主进程分出多个执行小任务的多线程。
(11)组件模式:
C#很适合组件开发。
各个组件可以由其他语言实现的,然后集成在.net中。
.NETFramework类似于Java虚拟机,它不但使Internet上运行的应用程序更容易被开发,而且也可用于开发运行于Windows桌面上的传统业务应用程序。
它为创建、部署以及管理安全、强大、高效的应用程序提供了前所未有的最大支持。
.NETFramework是一个创建、部署和运行应用程序的多语言平台环境,.NET支持的语言使用的基类库由.NETFramework类库(FCL)提供。
C#是Microsoft公司设计的一种编程语言。
它松散地基于C/C++,并且有很多方面和Java类似。
Microsoft是这样描述C#的:
C#是从C和C++派生来的一种简单、现代、面向对象和类型安全的编程语言。
C#主要是从C/C++编程语言家族移植过来的,C和C++的程序员会马上熟悉它。
2.1.2SQLServer2005
SQLServer数据平台SQLServer是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用。
SQLServer2005为IT专家和信息共作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。
通过全面的功能集、和现有系统的集成性、以及对日常任务的自动化管理能力,SQLServer2005为不同规模的企业提供了一个完整的数据解决方案。
2.1.3UDP协议简介
本局域网QQ聊天软件使用的是UDP协议。
用户数据报协议(UserDatagramProtocol)是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
是一个简单的面向数据报的传输层协议,IETFRFC768是UDP的正式规范。
UDP协议基本上是IP协议与上层协议的接口。
UDP协议适用端口分别运行在同一台设备上的多个应用程序。
与TCP不同,UDP并不提供对IP协议的可靠机制、流控制以及错误恢复功能等。
由于UDP比较简单,UDP头包含很少的字节,比TCP负载消耗少。
UDP适用于不需要TCP可靠机制的情形,比如,当高层协议或应用程序提供错误和流控制功能的时候。
UDP是传输层协议,服务于很多知名应用层协议,包括网络文件系统(NFS)、简单网络管理协议(SNMP)、域名系统(DNS)以及简单文件传输系统(TFTP)、动态主机配置协议(DHCP)、路由信息协议(RIP)和某些影音串流服务等等。
2.1.4Socket简介
选定WindowsXP平台开发网络通信程序,可以选择Windows的Sockets编程接口,WindowsSockets是一套开放的、支持多种协议的Windows下的网络编程接口。
现在的Winsock已经基本上实现了与协议无关,可以使用Winsock来调用多种协议的功能,但较常使用的是TCP/IP协议。
Windowssockets无疑是进行网络编程的利器。
所有的WindowsSockets实现都支持流套接口和数据报套接口。
应用程序调用WindowsSockets的API实现相互之间的通讯。
WindowsSockets又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作。
Socket,简称套接字,用于实现网络上客户和服务器之间的连接。
也就是说网络上两个或两个以上双工方式通信的进程之间总有一个连接,这个连接的端点成为套接字,套接字是在比较低的层次上通信的。
具体的说:
一个服务器应用程序一般侦听一个特定的端口等待客户端的连接请求,当一个连接请求到达时,客户端和服武器端建立一个通信连接,在连接过程中,客户端被分配一个本地端口与一个Socket建立连接,客户端通过写Socket来通知服务器,以读取Socket中的信息,类似的服务器也获得一个本地端口,它需要一个新的端口号来侦听原始端口上的其他连接请求。
服务器也通过它的本地端口连接一个Socket,通过读写和客户端通信。
一般的Socket网络编程的函数调用步骤如下:
(1)创建套接字
应用程序在使用套接字前,首先必须创建一个套接字,以便系统分配相应的资源给它。
(2)指定本地地址
当一个套接字被创建后,存在一个名字空间(地址族),但它没有被命名。
需要将套接字地址(包括本地主机地址和本地端口地址)与所创建的套接字号联系起来,即将名字赋予套接字,以指定本地相关。
(3)建立套接字连接
即开启监听功能。
监听远程客户端的请求。
(4)数据传输
当一个连接
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 毕业设计 85 UDP 局域网 QQ 聊天 程序设计 说明书