毕业设计(论文)-局域网聊天程序的实现.doc_第1页
毕业设计(论文)-局域网聊天程序的实现.doc_第2页
毕业设计(论文)-局域网聊天程序的实现.doc_第3页
毕业设计(论文)-局域网聊天程序的实现.doc_第4页
毕业设计(论文)-局域网聊天程序的实现.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

局域网的聊天程序的实现摘要网络通讯是目前计算机用户进行交流最普遍的方式,各种各样的聊天软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能。本文介绍了在Windows环境下开发局域网聊天程序思路和方法。系统使用流行的Delphi7.0开发软件,采用Socket技术实现网络通讯。数据库使用Delphi自带的Databasedesktop。系统采用典型的C/S(服务器/客户端)构架。系统主要实现了用户注册、登录、聊天、服务器管理等功能。本系统从需求分析、系统的设计、具体功能的实现都严格遵循了软件设计工程的思想。关键词:Socket;TCP/IP;C/STheImplementationofLANChattingProgramAbstractNetworkisthemostpopularwayofcommunicationbetweencomputerusers,thereforealotofchattingsoftwarescomeout;ontheotherhand,morecommunicationservicesareprovidedbytheISP.ThispaperintroducestheideasandmethodsofLANchattingprogramwhicharedevelopedonWindows.ThissystemisdevelopedbytheDelphi7.0software,andusestheSockettechnologytoimplementnetworkcommunications.Databaseusingitsowndatabasedesktop.SoftwareisbasedonC/Sarchitecture.Thesystemmainlyimplementsthefunctionsofuserregistration,login,chatting,servermanagementetc.Fromrequirementanalysis,outlinedesign,detaileddesigntocoding,functiontest,theimplementationofthefunctioninthisessayabsolutelyfollowtheprocessofthesoftwaredevelopment.Keywords:Socket;TCP/IP;C/S目录论文总页数:22页1引言.12局域网聊天程序系统分析.12.1系统理论基础.12.1.1TCP/IP的特点.12.1.2客户机/服务器模式.22.1.3Socket介绍.32.2系统需求分析.52.3系统设计目标.62.4系运行环境.62.5系统开发环境.63局域网聊天程序系统设计.73.1系统结构设计.73.2数据库设计.73.3客户端服务器功能设计.73.4客户端设计.83.5服务器端设计.93.6聊天中公聊和私聊的设计.103.7界面设计.113.7.1客户端界面设计.113.7.2服务器界面设计.124系统实现及核心代码.134.1网络通信核心代码.134.2用户注册登录下线模块功能代码.155系统测试.165.1测试方法.165.2测试结果.175.3测试结论.175.4程序运行截图.17结论.错误!未定义书签。参考文献.错误!未定义书签。致谢.错误!未定义书签。声明.错误!未定义书签。第1页共22页1引言即时通讯软件的出现正在逐渐改变人们的沟通与交际方式。无论近在咫尺,还是远隔重洋,也只是在键盘和鼠标之间就可以解决问题。即时通讯服务非常适合企业内部或企业和客户之间的交流。网络聊天程序.越来越影响着我们的网络生活。习惯了通过类似ICQ、QQ、MSN之类的程序和朋友聊天、发信息,不过所有聊天程序都需要Internet的支持,而无法在局域网内部“大显身手”,那么你是否想到过要让单位内部的员工,寝室周围的同学,不用上Internet就可以轻松体验到聊天的快乐呢?基于以上原因,开发局域网聊天程序就有了必要性,让单位员工或寝室同学不出内网就能自由聊天。随着全球信息化进程的不断发展,网络也在飞速发展。出于高效、快速地处理各种事务的目的,越来越多的企业和单位在其内部使用局域网来进行工作和交流。在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。然而,随着局域网规模的扩大,业务量的增加,在局域网上运行的应用越来越多,如知识库、网络会议、数据库应用和数据的同步与备份等,这些应用对局域网的信息吞吐、处理能力的要求也越来越高。这些在原有局域网设计之初未曾考虑到的新情况的出现使得局域网不堪重负,容易发生信息阻塞,此时,局域网不但不能提高生产效率,反而成为工作效率的瓶颈。为了解决上述矛盾,前辈们提出了许多方法。提升网络带宽及增加服务器的吞吐能力是解决此矛盾的一种方法。然而,从局域网运行的成本方面考虑,无论是单纯地提升网络带宽或增加服务器的吞吐能力都不能从根本上解决局域网资源紧张的问题,对旧有局域网的大规模硬件改造反而会增加成本的负担。基于Socket的局域网聊天室是局域网通信软件的具体实例之一,它很好地诠释了Socket通信的原理,并且在局域网部通信、教学、讨论等应用中都具有一定的实用价值。它具有信息收发速度快,保密性好,占用网络带宽资源低,占用服务器吞吐能力低,易于编程实现等优点。2局域网聊天程序系统分析2.1系统理论基础2.1.1TCP/IP的特点TCP/IP协议的核心部分是传输层协议(TCP、UDP),网络层协议(IP)和物理接口层,这三层通常是在操作系统内核中设计。因此用户一般不涉及。TCP是面向连接的,通信双方保持一条通路,好比目前的电话线,使用telnet登陆BBS,第2页共22页用的就是TCP协议;UDP是无连接的,通信双方都不保持对方的状态,浏览器访问Internet时使用的HTTP协议就是基于UDP协议的。编程时,编程界面有两种形式:一、是由内核心直接提供的系统调用;二、使用以库函数方式提供的各种函数。前者为核内设计,后者为核外设计。用户服务要通过核外的应用程序才能设计,所以要使用套接字(socket)来设计。2.1.2客户机/服务器模式C/S结构(Client/Server结构)是大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。首先服务器方要启动,并根据请求提供相应服务:(1)打开一通信通道并告知本地主机,它在某一公认地址端口上(如http为80)接受客户请求。(2)等待客户请求到达该端口。(3)接收到重复服务请求,处理该请求并发送应答信号。接收并发服务请求,要激活一新进程来处理这个客户请求。新进程处理此客户请求,并不需要对其他请求做出应答。服务完成后,关闭此新进程与客户的通信链路,并终止。(4)返回第二步,等待另外的客户请求(5)关闭服务器。客户方:(1)打开一通信通道,并连接到服务器所在主机的特定端口。(2)向服务器发出服务请求报文,等待并接收应答;继续提出请求。(3)请求结束后关闭通信通道并终止。从上面的描述过程可知:(1)客户与服务器进程的作用是非对称的。因此编码不同。(2)服务进程一般是先于客户请求启动的。只要系统运行,该进程一直存在,直到正常终止或者强迫终止。在TCP/IP网络中两个进程间的相互作用的主机模式是客户机/服务器模式(Client/Servermodel)。该模式的建立基于以下两点:1、非对等作用;2、通信完第3页共22页全是异步的。客户机/服务器模式在操作过程中采取的是主动请求服务响应的方式,如图1所示:客户端A客户端B服务器:监听局域网请求A请求B响应B响应A请求A响应A响应B请求B图1客户端服务器模式2.1.3Socket介绍Socket是建立在传输层协议(主要是TCP和UDP)上的一种套接字规范,最初是由美国加州Berkley大学提出,它定义两台计算机间进行通信的规范(也是一种编程规范),如果说两台计算机是利用一个“通道”进行通信,那么这个“通道”的两端就是两个套接字。套接字屏蔽了底层通信软件和具体操作系统的差异,使得任何两台安装了TCP协议软件和实现了套接字规范的计算机之间的通信成为可能。微软的WindowsSocket规范(简称Winsock)对Berkley的套接字规范进行了扩展,利用标准的Socket的方法,可以同任何平台上的Socket进行通信;利用其扩展,可以更有效地实现在Windows平台上计算机间的通信。Socket减轻了编写计算机间通信

温馨提示

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

评论

0/150

提交评论