您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 2015网络聊天室设计与实现
目录1绪论......................................................................11.1选题背景.................................................................11.2主要内容及其意义.........................................................12课题相关理论分析...........................................................22.1C/S构架的软件分析.......................................................22.2TCP/IP协议分析..........................................................22.3WINSOCK技术分析.........................................................32.4多线程技术分析...........................................................53网络通信系统方案设计.......................................................63.1局域网TCP网络通信设计...................................................63.1.1系统流程...............................................................63.1.2通信分析...............................................................63.2局域网UDP网络通信设计...................................................73.2.1系统流程...............................................................73.2.2通信分析...............................................................83.3广域网中TCP网络通信设计.................................................93.3.1系统说明...............................................................93.3.2网络通信分析设计.......................................................93.4广域网中UDP网络通信设计................................................103.4.1系统说明..............................................................103.4.2网络通信分析设计......................................................104多线程聊天室的实现........................................................124.1系统说明................................................................124.2系统服务器端的多线程处理技术............................................124.3服务器端异步模式技术分析................................................134.4系统网络通信............................................................144.5系统状态转换图..........................................................164.6界面设计................................................................184.7面向对象设计............................................................184.8算法设计与实现..........................................................204.8.1多线程算法设计........................................................204.8.2多线程与异步模式结合的算法设计........................................224.9软件运行效果............................................................244.10系统测试...............................................................26结束语......................................................................27致谢........................................................错误!未定义书签。参考文献....................................................................28附录P2P之UDP穿透NAT的原理..............................................2911绪论1.1选题背景当今世界科学技术飞速发展,尤其以通信、计算机、网络为代表的互联网技术更是日新月异,令人眼花燎乱,目不睱接。由于计算机互联网在政治、经济、生活等各个领域的发展、运用以及网络的迅速普及和全社会对网络的依赖程度,计算机网络已经成为国家的经济基础和命脉,成为社会和经济发展的强大动力,其地位越来越重要。网络软件的发展,通信开始融入网络当中,人们开始使用网络软件来进行通信,这比其它任何通信方式简单,特别是方便和便宜。随着越来越多人使用网络通信软件,这个行业也变的越来越热,在中国QQ的数量就是一个有力的证据。随着网络的日益健壮,基于网络的软件日益增多,几乎大部分软件都开始加入到网络的行列中,不管是出在局域网中还是广域网中,在网络中实现各个用户的交互,都离不开服务器为软件提供的服务,不管是C/S(Client/Server客户机和服务器)结构还是B/S(Browser/Server浏览器和服务器)结构,服务器始终是处在核心地位,也承受着巨大的压力和风险。本文根据当前网络发展趋势,结合具体的实际情况,为了满足特定一类群体而专门设计的一套网络通信系统。它适合于在同一个部门上班的工作者或者是经常需要进行学术交流的学生,简而言之就是服务于用户,减轻用户为了相互交流而花费大量手机话费的苦恼,也不会因打开QQ沉迷于网络世界而受到影响。综合各种因素,本文设计的异步模式与多线程结合的算法,将在多线程的基础上,进一步改善网络通信软件,适合于在同一个局域网内。1.2主要内容及其意义本次设计通过分析C/S构架的软件知识、了解TCP/IP协议[2、3]、学习WINSOCK[4]技术以及多线程技术[5-13],设计四种网络通信系统方案并加以优化,最后以多线程聊天室为实例,实现设计的方案,提出了异步模式与多线程技术结合的网络通信算法,并且在聊天室实例中得到了实现。具体实现的功能如下:用户均处于局域网内,首先设立一台为服务器,然后其余的用户通过输入服务器的IP地址而进行连接服务器,最后每个用户都可以通过发送各种信息来进行公开的交流,从而加强了用户之间的交流程度,提高了用户的工作效率。对于这个聊天室来说,客户端间的所有消息通过服务器进行转发,服务器是消息的中转站。为了方便局域网用户,把客户端和服务器进行整合,每个用户可以建立服务器也可以作为客户端。目前,计算机的发展离不开网络这一方向,网络将大大扩展计算机的功能,研究计算机在网络方面的技术以及应用,挖掘计算机的网络潜能,将能够大大提高我们对计算机的本身的认识,同时也能加深对计算机网络的认识。本次设计以提高服务效率,充分利用资源为目标,基于局域网分析、比较、设计出软件方案,这对网络软件的发展起一个指导性的作用。就对社会而言,探讨网络软件的本质,分析缺陷,加以改进,对实际的应用的意义是巨大的。随着网络的发展,软件种类的增多,用户使用的软件增多,用户对软件的要求在提高,因此探讨网络软件势在必行。22课题相关理论分析2.1C/S构架的软件分析C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件。因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统,这也就是目前应用系统的发展方向。传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client还是Server都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用,而且代价高,效率低。但是C/S架构软件还是具有一定的优势,分析如下:(1)应用服务器运行数据负荷较轻最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。(2)数据的储存管理功能较为透明在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。2.2TCP/IP协议分析TCP/IP(TransmissionControlProtocol/InternetProtocol,传输控制协议/网际协议)是发展至今最成功的通信协议,它允许分布
本文标题:2015网络聊天室设计与实现
链接地址:https://www.777doc.com/doc-5085356 .html