欢迎来到天天文库
浏览记录
ID:3663417
大小:2.28 MB
页数:33页
时间:2017-11-22
《2015网络聊天室设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、目录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多线程聊
2、天室的实现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参考文献29附录P2P之UDP穿透NAT的原理301绪论1.1选题背景当今世界科学技术飞速发展,尤其以通信、计算机、网络为代表的互联网技术更是日新月异,令人眼花燎乱,目不睱接。由于计
3、算机互联网在政治、经济、生活等各个领域的发展、运用以及网络的迅速普及和全社会对网络的依赖程度,计算机网络已经成为国家的经济基础和命脉,成为社会和经济发展的强大动力,其地位越来越重要。网络软件的发展,通信开始融入网络当中,人们开始使用网络软件来进行通信,这比其它任何通信方式简单,特别是方便和便宜。随着越来越多人使用网络通信软件,这个行业也变的越来越热,在中国QQ的数量就是一个有力的证据。随着网络的日益健壮,基于网络的软件日益增多,几乎大部分软件都开始加入到网络的行列中,不管是出在局域网中还是广域网中,在网络中实现各个用户的交
4、互,都离不开服务器为软件提供的服务,不管是C/S(Client/Server客户机和服务器)结构还是B/S(Browser/Server浏览器和服务器)结构,服务器始终是处在核心地位,也承受着巨大的压力和风险。本文根据当前网络发展趋势,结合具体的实际情况,为了满足特定一类群体而专门设计的一套网络通信系统。它适合于在同一个部门上班的工作者或者是经常需要进行学术交流的学生,简而言之就是服务于用户,减轻用户为了相互交流而花费大量手机话费的苦恼,也不会因打开QQ沉迷于网络世界而受到影响。综合各种因素,本文设计的异步模式与多线程结合
5、的算法,将在多线程的基础上,进一步改善网络通信软件,适合于在同一个局域网内。1.2主要内容及其意义本次设计通过分析C/S构架的软件知识、了解TCP/IP协议[2、3]、学习WINSOCK[4]技术以及多线程技术[5-13],设计四种网络通信系统方案并加以优化,最后以多线程聊天室为实例,实现设计的方案,提出了异步模式与多线程技术结合的网络通信算法,并且在聊天室实例中得到了实现。具体实现的功能如下:用户均处于局域网内,首先设立一台为服务器,然后其余的用户通过输入服务器的IP地址而进行连接服务器,最后每个用户都可以通过发送各种信
6、息来进行公开的交流,从而加强了用户之间的交流程度,提高了用户的工作效率。对于这个聊天室来说,客户端间的所有消息通过服务器进行转发,服务器是消息的中转站。为了方便局域网用户,把客户端和服务器进行整合,每个用户可以建立服务器也可以作为客户端。目前,计算机的发展离不开网络这一方向,网络将大大扩展计算机的功能,研究计算机在网络方面的技术以及应用,挖掘计算机的网络潜能,将能够大大提高我们对计算机的本身的认识,同时也能加深对计算机网络的认识。本次设计以提高服务效率,充分利用资源为目标,基于局域网分析、比较、设计出软件方案,这对网络软件
7、的发展起一个指导性的作用。就对社会而言,探讨网络软件的本质,分析缺陷,加以改进,对实际的应用的意义是巨大的。随着网络的发展,软件种类的增多,用户使用的软件增多,用户对软件的要求在提高,因此探讨网络软件势在必行。322课题相关理论分析2.1C/S构架的软件分析C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两
8、层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件。因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统,这也就是目前应用系统的发展方向。传统的C/S体系
此文档下载收益归作者所有