局域网交流室总体设计.docx
- 文档编号:23490177
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:18
- 大小:30.89KB
局域网交流室总体设计.docx
《局域网交流室总体设计.docx》由会员分享,可在线阅读,更多相关《局域网交流室总体设计.docx(18页珍藏版)》请在冰豆网上搜索。
局域网交流室总体设计
局域网交流室内容总体设计
摘要
基于Socket的局域网通信软件可以为企业原有的局域网提供一种良好、安全、快速的通信机制。
此软件应用范围广阔,不但可以处理传统的通信需求,而且也能适应新型的网络应用,如即时通讯,网络教育,数据影音传输等,拥有广泛的应用前景。
本文主要说明了基于Socket的局域网聊天室系统的功能与特点,聊天室客户端的开发实施及对主要技术的应用方面的了解。
本系统是采用Delphi 7来完成的,是在TCP/IP环境下,实现客户端和服务器端两部分程序。
即首先服务器方要启动,客户端向服务器发出请求,服务器接收到请求后提供相应的服务。
当客户端连接到已启动的服务器,客户端用户注册或登录时,客户端输入的内容通过服务器端与数据库连接;客户端进入聊天室聊天时,服务器端与客户端进行数据交互并实现远程监控。
绪论
当今世界正处于信息时代,计算机和通信网络是这一时代所谓“信息基基础设施”。
网络化是计算机技术九十年代的重要发展趋势之一。
目前计算机网络的新发展是:
异机种网络和异网互联有较大突破。
TCP/IP协议在异网互联中体现出了其强大的生命力,以它为基础组建的Internet是目前国际上规模最大的计算机网间网,到1991年底世界上已有26个国家的五千多个网络连入Internet,其中包含了数千个组织的30万台主机,用户数以百万计。
1.1 课题的背景和意义
近年来,随着全球信息化进程的不断发展,网络也在飞速发展。
出于高效、快速地处理各种事务的目的,越来越多的企业在其内部使用局域网来进行工作。
在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。
然而,随着企业规模的扩大,业务量的增加,在局域网上运行的应用越来越多,如知识库、网络会议、数据库应用和数据的同步与备份等,这些应用对局域网的信息吞吐、处理能力的要求也越来越高。
这些在企业内部原有局域网设计之初未曾考虑到的新情况的出现使得局域网不堪重负,容易发生信息阻塞,此时,局域网不但不能提高生产效率,反而成为企业发展的瓶颈。
为了解决上述矛盾,人们提出了许多方法。
提升网络带宽及增加服务器的吞吐能力是解决此矛盾的一种方法。
然而,从企业运行的成本方面考虑,无论是单纯地提升网络带宽或增加服务器的吞吐能力都不能从根本上解决局域网资源紧张的问题,对旧有局域网的大规模硬件改造反而会增加企业的负担。
我们在本文中将讨论一种基于Socket的局域网通信方法。
基于Socket的局域网通信软件可以为企业原有的局域网提供一种良好,安全,快速的通信机制。
它可以在BSD、AIX、Solaris、Microsoft Windows、MAC OS及Linux等多种操作系统上实现,并且它的实现无需对企业原有的局域网硬件进行任何改动,具有实现成本低廉的优点,它的使用能有效地降低局域网通信负荷,提高局域网的使用效率,可以很好地解决企业内部局域网的各种通信需求。
基于Socket的局域网聊天室是此类局域网通信软件的具体实例之一,它很好地诠释了Socket通信的原理,并且在企业内部通信、教学、讨论等应用中都具有一定的实用价值。
它具有信息收发速度快,保密性好,占用网络带宽资源低,占用服务器吞吐能力低,易于编程实现等优点。
基于Socket的局域网通信软件应用范围广阔,不但可以处理传统的通信需求,而且也能适应新型的网络应用,如即时通讯,网络教育,数据影音传输等,拥有广泛的应用前景。
1.2 课题现状
在此之前,人们已经在此问题上做了许多的工作,开发了大量的文档、程序和应用软件,如Richard Stevens的《Unix Network Programming》介绍了在UNIX操作系统下通过Socket实现网络通信的基本原理及实现方式,Microsoft的Windows Sockets API提供了一种快速编程实现Socket网络通信的机制,而AOL的ICQ GroupWare则是一种流行的局域网通信软件。
前人的这些工作无疑为我们提供了快速的开发方法和现成的开发实例,然而,前人已有的工作成果无法完全满足我们的需求,即提供一种基于Socket的,易于使用具有高度可定制性的,面向企业内部通信需求的局域网通信软件[5]。
聊天室系统设计
2.1 系统的功能要求
本项目的设计目标为一个高性能的,易于使用的,面向企业内部通信需求的局域网即时信息软件。
它应具有如下特征:
n 具有高性能,可同时处理多个连接请求。
n 对硬件要求低,适应范围广,运行稳定。
n 具有高度可定制性,客户可根据不同的具体需求方便地更改软件的特性。
n 具有一定的容错性能。
当客户端连接到已启动的服务器,客户端用户注册或登录时,客户端输入的内容通过服务器端与数据库连接;客户端进入聊天室聊天时,服务器端与客户端进行数据交互并实现远程监控。
最终的软件产品应具有如下功能:
客户端与服务器端功能独立,可独立运行在不同的计算机上或运行在同一台计算机上,具有最大的灵活性。
客户端易于使用。
服务器端运行稳定,具有可管理性,并具有一定的容错性能。
客户端与服务器端可运行在多种硬件平台,具有良好的兼容性能。
客户端:
(1) 能够随时改变自己的昵称。
(2) 能够自动更新其他用户的名单。
(3) 选择特定用户并与其交谈。
(4) 随时获得服务器端的当时时间。
服务器端:
(1) 能够实现向所有用户作系统广播。
(2) 能够记录所有客户的动作及状态。
(3) 服务器使用者可以向特定多数人发消息。
2.2 系统运行的环境
我们所设计的是一个面向企业内部通信需求的局域网即时信息软件,要在短时间内开发出来并且要满足客户要求,无论是硬件还是软件都要选择合适,要求如下:
开发设备应该完备;开发机器的性能必须稳定;操作系统的选择必须恬当;开发出的程序可以在尽可能多的平台上运行;要求运行机配置尽可能低档。
对此,我们选择的硬件环境和软件环境如下:
(1) 硬件环境
开发该系统应尽可能采用高档的硬件配制,因此,在应用时应采用更好的配置。
处理器:
Intel Pentium PIII或更高处理器。
内存:
128MB或更高。
硬盘空间:
系统要安装Delphi7.0,建议硬盘空间在20G以上。
网络:
局域网。
机器:
至少两台机器以上,一台为客户机,另一台机承担服务器的功能。
(2) 软件环境
选择好的操作系统和好的编程语言是系统优劣的关键,我们要求系统在尽可能多的环境下运行,故选择Windows XP平台,对于一些无法在98中运行的API函数,一律不采用,并采取优化的算法编写程序。
因Delphi具有友好的集成开发界面、面向对象的可视化开发模式、良好的数据库及多媒体应用支持以及高效的软件开发与程序运行,功能更大,开发效率更高,不仅是网络环境下的优秀前端开发语言和工具,也是服务器端Web编程的优秀工具。
操作系统:
Windows XP或Window2000。
开发工具:
Delphi7.0。
网络环境:
最好可连接Internet并获取必要信息。
2.3系统实现的几个关键技术
2.3.1 C/S结构
C/S结构Client/Server客户/服务器体系结构的缩写,即包括一个客户机(或前端),一个服务器(或称后端),客户机的作用是访问和处理远程服务器上的数据,服务器的作用是接收和处理客户机的数据请求。
有时,可能有多个客户向同一个服务器同时请求服务,这就需要服务器决定怎样处理这些请求。
该系统采用客户和服务器均安装Socket组件的方法实现了客户端和服务器端的数据交换。
Client/Server结构是当前数据库应用程序中极为流行的一种方式。
尤其是网络技术的发展,使得当前很多系统都采用这种方式进行构造,其最大的优点是将计算机工作任务分别由客户端和服务器端来共同完成,这样有利于充分合理的利用系统资源。
Client/Server模型最终可归结为一种“请求/应答”关系。
一个请求总是首先被客户发出,然后服务器总是被动地接收请求,返回客户需要的结果。
在客户发出一个请求之前,服务进程一直处于休眠状态。
一个客户提出请求后,服务进程被“唤醒”并且为客户提供服务,对客户的请求做出所需要的应答[11]
采用Client/Server模型有两个方面的原因。
第一个原因是客观现实的需求。
Client/Server模型最重要的特点是非对等相互作用,即客户与服务器处于不平等的地位,服务器拥有客户所不具备的硬软件资源,客户和服务器分别是服务的请求者和提供者。
实际上,网络中各个机器的资源是不平等的,网络的真正目的就是共享这些不均等的资源,Client/Server模型的非对等相互作用特点也正好体现和适应了客观现实中资源的不均等现象。
第二个原因则是技术性的。
网络上不同主机进程间通信完全是异步的,通信时机具有随机性,所以必须有一种为通信双方的数据交换提供同步的机制,而Client/Server模型对此机制提供了极好的支持。
传统的小型聊天软件采用C/S结构的模式,而采用三层C/S结构的聊天系统和基于普通客户机/服务器模式的聊天系统有差别,相比之下它有以下优点:
(1) 业务规则集中。
使网络负载平衡,减少数据服务器的负担和维护开销。
(2) 多层数据库模式将一个数据库应用划分成几个逻辑块,对客户机而言,其数据的交互完全是透明的, 不需要知道数据如何被存储和维护。
服务器(中间层)协调和处理多个客户的请求和更新,负责同数据库交换数据。
(3)由于客户应用仅关注数据和与用户的交互,它可以做得很小。
这样做的好处是应用程序变得容易开发,因为不需要担心如何安装配置和维护数据库连接软件。
(4)提高系统的安全性。
可以将敏感功能单独做成一个层,设置该层具有不同的存取权限,这样便提高了安全性。
聊天室客户端系统详细设计
3.1设计原理和工作原理
计算机网络是由一系列网络通信协议组成的,其中的核心协议是传输层的TCP/IP和UDP协议。
TCP是面向连接的,通信双方保持一条通路,好比目前的电话线,使用telnet登录BBS,用的就是TCP协议;UDP是无连接的,通信双方都不保持对方的状态,浏览器访问Internet时使用的HTTP协议就是基于UDP协议的[3]。
TCP和UDP协议都非常复杂,尤其是TCP协议,为了保证网络传输的正确性和有效性,必须进行一系列复杂的纠错和排序等处理。
UDP和TCP都是基于TCP/IP体系结构的协议。
UDP是一种面向无连接、不可靠的协议,在传输前不需要建立连接。
远程主机接到UDP数据报后,不需要给出任何应答。
它传送的数据包是独立的,前后无任何顺序关系。
TCP则是提供面向连接、可靠的服务,在传送数据前两台主机需要进行“三次握手”。
在建立连接之后才能传送数据,TCP提供可靠服务,因此不可避免地增加了一些开销,如应答、流量控制、定时以及连接管理等。
虽然UDP协议在可靠性方面不如TCP协议,但效率却比TCP高,当每次传送的数据量很少而且网络质量较高时,UDP也同样可以达到实用的可靠性要求。
在Interne和Intranet上的通信程序一般都是以服务器提供服务端连接响应,使用者通过客户端程序登录到服务器,就可以与登录在同一服务器上的用户交谈,这是一个面向连接的通信过程。
因此,程序要在TCP/IP环境下,实现服务器端和客户端两部分程序
在TCP/IP网络应用中,通信的两个进程相互作用的主要模式是客户机/服务器模式,即客户端向服务器发出请求,服务器接收到请求后提供相应的服务。
客户机/服务器模式的建立基于以下两点:
首先,建立网络的起因是网络中软、硬件资源、运算能力和信息不均等,需要共享,从而造就拥有众多资源的主机提供服务,资源较少的客户请求服务这一非对等作用。
其次,网间进程通信完全是异步的,相互通信的进程间既不存在父子关系,又不共享内存缓冲区,因此需要一种机制为希望通信的进程间建立一种联系,为二者的数据交换提供同步,这就是基于客户机/服务器模式的TCP/IP。
客户机/服务器模式在操作过程中采取的是主动请求方式:
首先服务器方要启动,并根据请求提供相应服务:
1、打开一通信通道并告知本地主机,它愿意在某一公认地址端口上(周知口,如http为80)接受客户请求。
2、等待客户请求到达该端口。
3、接收到重复服务请求,处理该请求并发送应答信号。
接收并发服务请求,要激活一新进程来处理这个客户请求。
新进程处理此客户请求,并不需要对其他请求做出应答。
服务完成后,关闭此新进程与客户的通信链路,并终止。
4、返回第二步,等待另外的客户请求
5、关闭服务器。
客户方:
1、打开一通信通道,并连接到服务器所在主机的特定端口。
2、向服务器发出服务请求报文,等待并接收应答;继续提出请求。
3、请求结束后关闭通信通道并终止。
从上面的描述过程可知:
1、客户与服务器进程的作用是非对称的。
因此编码不同。
2、服务进程一般是先于客户请求启动的。
只要系统运行,该进程一直存在,直到正常终止或者强迫终止
3.2设计思路
在制作较为大型的软件,一般必须先对软件所要实现功能进行分析,然后根据这一分析建立软件的大体框架,并将其分成各个相对独立的部分,然后分别进行设计调试。
在本软件中,所要实现的功能前面已经讲述过。
由于信息传输过程中各种不同类型的信息(比如说更改用户名的系统操作信息和一般的聊天信息)并没有明确的区分,所以必须在客户端和服务器端发送信息时对不同类型的信息作不同的格式处理,以使程序在接受时能对信息进行辨认
需要说明的是,用户在使用软件的时候并不需要按此格式输入,因为这种格式是发送方先对要发送的信息类型进行检测,然后再按不同类型自动添加格式
3.3 主聊天模块实现
与大多数聊天模块类似,我把主聊天模块分成三大块:
显示区、用户发言区、用户列表区。
1、用户发言区
专门用来处理用户所输入的发言等。
可以对发言的字体大小和颜色进行更改。
对于用户对象的选取,用户只需在用户列表中选取你要发言的对象即可,用户发言后直接点击发送按钮。
4.1 软件功能验证测试
我们考虑从以下几个方面来考量其可靠性,可用性及容错性。
1、可靠性
考虑到具体所使用的网络性能有所不同,为了考察此软件在恶劣的网络环境下使用的性能。
我们使用压力测试工具web spress在本机来模拟一个真实的网络情况,在web spress中开启那些使用socket通信的应用,如FTP,POP3,HTTP等,可以观察到,随着压力的加大,网络负荷的加重,我们的软件发送和接受信息的速度并没有受到明显的影响。
2、可用性
考虑到不同的客户机和服务器平台所提供的计算能力不同,相应地,我们的软件在不同的硬件平台上的表现也可能随之出现差异。
我们在测试中人为地制造测试平台工作在处理器、存储器和IO工作在重负荷下的情况,分别采用程序编译、拷贝大尺寸的文件等方法造成CPU
内存,磁盘等设备的资源紧张。
从测试中我们观察到,虽然软件的响应时间有所增加,但从总体上来看,软件性能的下降曲线较系统可用资源的下降曲线平缓。
3、容错性
为了验证软件的容错性能,我们让一位从未使用过此软件的用户来对此软件进行操作测试,在使用过程中,用户的所有错误操作均被软件所截获,并发出错误信息,提醒用户改正。
可以说,软件具备了一定的容错性能。
4.2 测试结论与评价
至此,一个基于TCP/IP协议的聊天室就完成了。
在局域网内运行该程序并进行设置,即可自由的聊天了。
当然,由于时间紧迫,所设计的软件难免有不足之处,敬请各位评委老师指导。
在用Delphi 7.0制作基于Socket的局域网聊天室时,我们一般不需要直接进行套接字编程。
Delphi带有大量完成专门网络连接功能的部件,使用这些部件完全可以满足我们大多数网络编程的需要。
由于Delphi封装了Windows Socket API,使得我们在Delphi 环境下编写 Windows Socket 程序变得非常轻松和愉快。
聊天室的制作是件烦琐而有挑战性的工作,涉及面广,与实践教学环节密不可分,与课程内容密切相关,要多参考用其他语言是如何制作聊天室的,多搜集一点网上的资料。
了解了这样一个聊天室的运行过程后,还需要知道,要实现一个不用输入IP地址和端口号,而只需输入自己昵称登录后就能随意地和聊天室里的每一成员进行聊天的功能,首先必须要有一个相对固定的服务器。
也就是说本机的IP地址和端口号实际上是由服务器来为自己分配和指定的,传给服务器的信息只需要包含自己的IP地址和昵称,然后再由服务器来分配端口号,并把其他用户的信息传给本地的客户端,这样无论选择哪一个用户都可以知道他的IP地址和端口号,并且和他建立虚链路并进行通话。
由于时间和个人水平的有限,该聊天室的客户端仍然不完善,比如对一些不想再听其发言的人不能使用屏蔽功能,使对方不能对你发言,没有个性化的头像,聊天室的界面也不够美观等。
可行性研究
5.1编写目的:
随着计算机技术的日益成熟、普及,现代的企业管理的实际运作在很多方面、很大程度上都必须借助计算机来完成,相应软件的开发显得尤为重要。
该软件项目可行性研究报告是对项目课题的全面考虑,是本小组人员进行进一步工作的前提,是软件开发人员正确成功的开发项目的前提与基础。
写软件项目可行性研究报告可以使软件开发团体尽可能早的估计研制课题的可行性,可以在定义阶段较早的认识到系统方案的缺陷,就可以少花费时间和精力,并且避免了许多专业方面的困难。
所以该软件项目可行性研究报告在整个开发过程中是非常重要的。
5.2背景
该项目开发的软件为局域网多媒体信息交流室系统软件,在如今信息化的社会,信息传递越来越占主流地位,网络也就成为必不可少的媒介,由于网络的不稳定性.安全性和保密性,不进入外网就可以在局域网内交流信息成为必要,局域网内部成员信息交流和传输的安全和便捷的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位.事业单位等局域网的信息更方便的交流.
工程的名称:
多媒体信息交流室应用软件
工程产品的名称:
多媒体信息交流室应用软件
工程的组织者:
江西财经大学现代经济管理学院计算机系
产品用户:
企业,教育部门,行政部门.
产品的生产者:
多媒体信息交流室应用软件开发课题组
产品的设计者:
多媒体信息交流室应用软件开发课题组
产品的所有权:
多媒体信息交流室应用软件开发课题组
5.3项目概述
本项目主要用于在不进入外网的前提下,在局域网内建立信息交流室,在信息交流室里传输文件,语音视频交流工作信息,此外在工作休息时间可以听听音乐,浏览自己感兴趣的文章等.
5.4可行性通过分析的前提
1项目的要求
w=Ju 开发该软件的基本要求与功能是实现多媒体信息交流,包括传输文件,语音,图象等信息,引入局域网聊天室使该软件有更强的功能,软件的基本数据流动为用户的基本信息及传输的信息,该信息可存于MicrosoftSQLServer2000数据库系统的数据库中,数据的输入与输出处理流程都依靠数据库的支持.由于SQLServer2000的安全性能及局域网信息安全比较令人满意,故数据的安全性基本可以保证,同时该软件设计中的数据库保持与其他一些数据库的基本兼容.
性能:
稳定快速,实时控制6yhRcvJ}
输入/输出:
键盘输入或手写汉字输入,汉字输出2D!
$x+|
安全与保密要求:
不能轻易被破坏,对个人的信息及交流的信息采用密码保护,非本人不可更改删改,对断电、死机、系统崩溃等问题有有力措施以保障数据不受损失。
#_E@X'jwu
2项目的目标
该软件的设计目标必须尽量达到人力与设备费用的节省,并且使软件处理信息的速度提高,软件的整个设计过程必须通过生产能力的提高,人员工作效率的提高等等使软件开发成本最小化,实现保证软件质量。
yvV]|B@sO
3项目的环境.条件.假定和限制
开发该系统的主要资金来源为用户提供的开发资金投入,故在设计开发中最大不能超过该限度,且软件完成交付用户使用后,应保证软件的运行寿命至少达到用户的要求范围且软件开发时间应基本控制在用户提出的要求范围内.
4进行可行性分析的方法
实行软件的可行性研究方法主要有:
成本效益分析,对估算问题的看法,软件的作用范围,软件的成本估算,速度安排等。
通过调查分析开发多媒体信息交流室所具备的能力及实现的方法。
确定总体结构,利用SQLServer2000数据库所具有的能力,以最简洁最容易的方法,使用VC++及JSP使其成为一个初级的系统软件。
5.5可选的方案
1原有方案的优缺点,局限性及存在的问题
原方案只用于信息的交流及娱乐功能,功能不够强大,缺少必要性能好了
2可选择的系统方案1
实现聊天,听音乐,语音,视频,浏览一些好的文学作品等功能.
3可选择的系统方案2
实现聊天,听音乐,语音,视频,浏览一些好的文学作品,文件传输等功能.
4选择最终方案的准则
由于电脑技术的高速发展,人们对信息资源的传输要求越来越强烈,在不进外网的前提下实现文件的传输越来越重要,只是实现信息交流而不能进行文件传输不能很好的达到用户的需求,为了让系统发挥出自己特有的功能,故我们最后选择了方案2.
5.6所建议的系统
1对所建议的系统的说明
新系统在原有系统的基础上使用了先进的数据库技术与数据管理技术,使数据的准确性与安全性得到了很大的提高,而且可以在不进入外网的情况下进行信息的交流,更方便快捷,也为企业.事业单位节约了一笔开销。
2数据流程和处理流程
用户输入用户名及密码登录系统,经由后台数据库进行了核实后允许用户进入系统,用户进入系统后可实现数据传输,交流信息.用户所要传输的信息先由服务器接收,经过处理连接对方系统后再传输到对方用户.此外,用户还可以进入我们创建的小型数据库中获取或下载信息,如文字档案,音频文件,视图,视频文件等.
3影响
对设备的影响
512以上机器均可使用此软件,本产品所面向的是企业单位工作人员,只需懂初步计算机的操作即可。
4软件
采用系统后,不会影响原有系统的性能,基本的操作及其系统的本质并没有改变,因此我们可以在不需要更新原有设备的前提下使用系统,在新系统开发过程中将尽量考虑到对现有软件的兼容性,以达到理想效果。
5对运行过程的影响
a.用户要按照本产品的操作手册以及提供的相关配套材料进行操作,也可参照市面上现有的聊天软件进行操作;
b.对输入过程数据预处理过程无影响;
c.对输出的处理过程无影响;
d.系统失效后将会出现异常情况,恢复的处理方法将采用结束当前任务或重新启动计算机;
6对产品后续开发的影响
a.随着信息交流室的发展,可使企业的软件升级,使操作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 局域网 交流 总体 设计