即时网络通信软件的设计与实现 毕业论文.docx
《即时网络通信软件的设计与实现 毕业论文.docx》由会员分享,可在线阅读,更多相关《即时网络通信软件的设计与实现 毕业论文.docx(21页珍藏版)》请在三一办公上搜索。
1、1. 绪论11.1选题的意义11.2网络通信的研究现状21.3毕业设计解决的主要问题22. C/S即时网络通信软件的概述22.1 系统的概念22.2可行性分析22.3系统的关键技术32.4系统的开发方法与开发工具42.5通信软件流程分析53. 服务器端的设计63.1服务器端功能的设计63.2服务器端功能框架图73.3服务器端的工作流程73.4服务器端控件设计83.5服务器端界面设计84. 客户端功能设计94.1客户端功能框架图94.2客户端工作流程104.3客户端控件的设计114.4客户端界面的设计125. 网络通信软件代码的实现145.1网络通信软件服务器端代码的实现145.2建立服务器代码
2、的实现145.3实现文字与语音通信代码的实现155.4客户端实现文件交换代码的实现166. 通信软件的测试177. 结论与展望187.1结论187.2展望18参考文献19ABSTRACT19基于C/S即时网络通讯软件的设计与实现王磊内容提要:叙述了传统通信方式,新兴网络通信的现状和优缺点,重点讲述了基于C/S 的即时网络通讯软件的设计与实现,设计工具采用微软开发的Visual C+ 6.0中的Win32 SDK 和MFC库。通过在服务器端安装服务器程序,在客户端安装客户端程序,实现了多个用户 之间的文字聊天、文件发送,并初步实现了语音聊天的功能。通过开发一个与实际应用相 结合的通信软件深入学习
3、和理解了软件的初步开发流程。关键词:网络通讯软件Client/Server 文件发送 语音聊天Visual C+1. 绪论1.1选题的意义21世纪是信息的时代,人与人之间的交流越来越密切,传统的通信方式,如电话,电 报等在实时上虽仍占有一定的优势,但是在信息高速发展的今天,传统通信方式由于其成 本过高,方式单一的缺点,越来越暴露其弊端。传统的通讯方式的缺点:(1)成本高。目前人们所使用的通讯方式普遍价格过高,移动通信的价格更是不菲。 这就在某种程度上限制了用户的使用和数量。作为用户来讲,消费水平是一个很重要的选 择标准。(2)使用方式单一。我们现在使用的传统通信方式主要是电话,电报,传真等。这
4、些 方式只能听到声音或看到文字,用户并不能感受到对方,缺乏身临其境的感觉。(3)传输数据量少。传统的通讯方式的带宽并不高,所以传输的数据量大大受到限制。新兴的网络通讯的优点:(1)成本低。网络具有价格便宜,对于大多数用户来说,购买一台电脑不仅可以成为 日常的通信工具,更重要的是电脑可以作为很多方面的用途,如处理日常的文件,存储个 人的资料等,而网络通讯仅仅是一个很小的附加功能,更由于随着经济的发展,拥有电脑 就像拥有电视机一样普遍,电脑的价值已经被普遍认可。(2)方便快捷。网络聊天非常方便,传统的手机短信编辑相比电脑键盘来说具有很大 的劣势,电脑打字要更加地快速,同时网络也可以进行语音聊天,更
5、加省去了输入的麻烦。 视频聊天也是网络通信的一个很大的优势,拉近了聊天双方的距离,使交流更加亲切。(3)传输的信息量大。和传统的方式相比较,其数据量提高了数十倍,并且随着科技 的进步,这种优势将会继续扩大。我国拥有世界上最多的网络用户,目前正在进行高速信 息化建设,因此对网络的使用将会进一步扩大。网络通讯软件具有上述的优势,因此其发展的前景将是广阔的,这也是研究它的意义 所在。1.2网络通信的研究现状当前网络通讯软件在生活中的应用非常广泛,如我们平时使用的QQ、MSN、Xychat等 软件,这些软件给我们的通讯带来了便利。随着网络的普及,人们对网络的依赖性也越来 越大。聊天软件已经得到人们的认
6、可,关于聊天软件的实现技术也获得了极大的突破,在实 现最基本的文字聊功能后,人们更好的实现了语音聊天等带有多媒体效果的通讯方式。同 时,在聊天的过程中,向对方发送诸如图片,音乐等文件也非常的方便,使用户从单一枯 燥的文字聊天转向丰富多彩的多媒体聊天方式。目前,国内外对于聊天软件的研究技术比较成熟,QQ作为中国聊天软件的早期产品, 已经占据了国内约70%的聊天软件市场,同时创造了年产值几百亿的企业,可见聊天软件的 地位和对人们的作用。我国经济现在正在处于高速发展的阶段,中央将信息化的发展作为 今后经济增长的主要促进因素,网络通讯软件属于信息产业,因此在未来将获得更好的发 展。随着计算机的应用和网
7、络普及,对计算机技术的研究将会更加深入,如当前出现的人 工智能和嵌入式等方面,网络通讯也必将是以后研究的重点。作为在校学习计算机的大学 生,学习网络通信应是必不可少的,无论使用VC,还是J2EE等编程平台,有很多地方都会 涉及到网络编程,所以学习网络应用方面的知识是一个很好的联系实际的例子,对于以后 进入工作及以后的学习也会是一个很好的锻炼机会1.3毕业设计解决的主要问题本毕业设计“即时网络通讯软件的设计与实现”将解决的主要问题如下:(1)实现用户上下线管理,维护用户的个人信息。(2)实现两两用户之间的文字交流。(3)在文字聊天的基础上增加了语音聊天,使用户之间的通信方式更加灵活与方便。(4)
8、添加了远程文件传输的功能,用户可以将本地计算机的资源通过网络发送聊天的 对方,实现了资源的共享。2. C/S即时网络通信软件系统的概述2.1系统的概念C/S就是客户机/服务器模型,客户机下载客户端程序并安装,在服务器端安装服务器 软件。客户端首先连接服务器,向服务器报告自己的数据,然后可以向服务器提出请求, 由服务器根据请求的内容进行响应,从而实现了用户之间的通讯。2.2可行性分析2.2.1目标即时网络通讯软件是一个集经济性、易用性、互动性于一身的通信平台,在实际的通 信中将受到越来越广泛地应用。网络通讯作为一种新的通信方式,将最大限度利用现有网 络资源,可以满足不同用户之间通信和资源共享的需
9、要。使人们花费最小的代价来获得最 大的经济效益。2.2.2经济上的可行性分析本软件作为一个毕业设计的一个项目,无需开发经费,在经济上是完全可以接受的, 并且本软件实施后可以显著提高通信的效率,有助于更好的交流沟通,所以本系统在经济 上是可行的。从软件系统开发的成本一收益角度方面,基于C/S的即时网络通讯软件的开 发设计属于一项低投入高效益的工作,可以大大减少传统通信方式的成本,网络通讯是计 算机应用的一个很小的功能,它的传输载体仅是网络通道,同时它的应用不会给网络带来 任何损失,所以在经济上它是非常节约成本的。同时它可以仅在企业内部网络里运行,给 内部人员的交流带来极大的方便,省去了拨打电话的
10、时间与费用,总之,在经济上是完全 可行的。2.2.3技术可行性分析(1)计算机的应用越来越广泛,网络也以十分迅速的方式在发展,各种硬件设施已经 比较便宜,绝大部分家庭或企业均可接受。通过网络可以实现信息共享与管理、信息的发 布与管理,从而方便使用者进行信息交流和信息共享。(2)现代计算技术、网络技术的发展给通信方式带来了翻天覆地的变化,以现有的技 术已经可以开发出功能强大的通讯软件。(3)开发人员具备良好的技术基础和较强的学习能力,能较快掌握新技术,有能力开 发新软件,在已有的知识基础上实现网络通讯软件2.2.4社会环境可行性分析随着计算机网络技术的不断发展,通信方式已经渐渐从传统方式向网络方
11、式转变,人 们对网络的使用也非常多,尤其是青年一代对网络的使用。通信软件可以满足人们在日常 生活娱乐时的通信需求。2.2.5结论意见本通讯软件的开发.使得通信方式更加多样化、节约化、高效化。同时.该系统较好的 结构、较全面的功能.使得本系统具备良好的实用价值。经过可行性分析研究,本系统可立 即着手组织开发。2.3系统的关键技术2.3.1网络传输协议(1)TCP传输协议。TCP协议是面向连接的协议,即在点点进行连接之前必须首先建 立数据通路,就向我们平时打电话一样,在通话之前必须先拨号,等待对方的接听以后才 能进行通话。它的数据传输采取的是同步方式,当数据发送到对方时,必须等待接收方的应答信号后
12、才能继续下一次的发送工作,即我们平时所说的“握手”方式。由于TCP协议 采用的是这种连接方式,因此由它建立的连接,是可靠的,在网络不是十分理想的情况下, 速度牺牲很大,但是却能够保证所传输的数据的正确性。(2)UDP传输协议。UDP协议采用的是面向无连接的通信方式,它在通信前不需要提 前建立通信链路,它是异步的,数据的发送比较迅速,不需要等待应答信号。优点是发送 速度较快,但是在数据的一致性方面不好,在网络差的情况下,容易丢失数据包。一般用 于远程视频等对一致性要求并不是很高的数据传输方面。2.3.2音频数据采集与播放技术(1)在语音聊天方面,要熟悉有关音频数据的采集与播放的流程,下图给出了详
13、细的 音频数据采集流程图。图1音频数据采集流程图。2.4系统的开发方法与开发工具2.4.1 Visual C+ 6.0 平台概述关于Visual C+ 6.0,是由微软开发的成熟的工具平台。Visual C+ 6.0包括Win32 SDK,MFC等,它也支持C语言程序的开发,是一款使用非常广泛的面向对象编程工具。Visual C+ 6.0在开发基于C/S的软件时具有自身的优势,但是Visual C+ 6.0与其他编程语言 相比较具有一定的难度,要对其熟练的掌握,没有长时间的应用是不容易的。选择使用 Visual C+ 6.0的主要原因是微软提供了 Win32 SDK和MFC开发包,它把所有使用
14、的函数 进行了封装,使用者不需要具有底层开发的知识便可以开发高质量的应用软件。2.4.2 Visual C+ 6.0 的特征(1)既支持面向过程的编程方式,同时主要支持面向对象的编程方式。(2)Visual C+ 6.0包含了微软开发的MFC类库和Win32 SDK,极大的方便了开发人 员的工作,能够产生高质量的软件(3)使用面广,是一款应用非常广泛的开发平台,它可以应用在开发各种形式的软件 方面。(4)学习起来较一般的语言有一定的难度,不容易掌握。(5)高效率。Visual C+ 6.0采用一次编译的方式,使得它在运行的实效性上,具有 其他编程工具所不具备的优势。(6)支持性好。其以Wind
15、ows作为主要支持平台。2.4.3开发环境操作系统:Microsoft XP Service Pack2程序语言:C+开发环境:Visual C+ 6.02.5软件通信流程分析在基于C/S模型的网络通信中,服务器在整个系统的作用很关键,处于中心位置,客 户端的关键操作要经由服务器来提供,下图展示了 C/S结构的模型图:图2 C/S模型图软件系统的大概信息流程图如下:图3通信流程图图3描述了系统的通信流程,客户端首先要登录服务器来获得所需要的数据,服务器 处于客户端之间,它可以维护数据库,管理客户端,其中客户端之间的文件传输在客户端 点与点之间直接进行。图中采用的数据库是Microsoft Ac
16、cess,首先它可以满足小型系统对数据库的需求, 其次它不需要过多的配置,而SQL Server 一般是作为大型数据库来应用,它的配置操作要 繁琐的多。Visual C+ 6.0对Microsoft Access有着很好的支持,使用很少的代码就可以 实现数据库的连接与存取等操作,这是它的优势所在。3 .服务器端的设计3. 1服务器端功能的设计服务器作为处于本软件的核心,具有多种功能,它维护了客户端的信息和上下线管理信 息,工作比较复杂,下面介绍服务器端的主要功能:(1) 初始化机器。初始化工作包括:申请内存空间用于和客户端通信,建立客户端连 接数据库,建立监听套接字,绑定端口,监听连接,维护客
17、户端连接出入的数据库,初始 化服务器的各个控件的值(2) 存储客户端的信息。服务器和Microsoft Access数据库结合,维护用户的个人信 息,包括ID、密码、昵称、姓名、年龄、地址等,同时还保存客户端的IP信息。(3) 转发语音聊天信息。服务器端对由客户端发来的语音信息进行监听,并发回其他 客户端,或做其他的处理。(4) 实现客户端的上下线的管理。用户的操作都反映在服务器的在线用户列表中,通 过此列表也为其他客户端提供在线用户信息。3.2服务器端功能框架图服务器 k.1配监异通置听常信环连处请境接理求维文广语护字音信传传息递播递图4服务器功能框架图图4显示了服务器的主要的功能,服务器要
18、处理部分作业,用来为客户端提供服务。 其中,配置环境包括加载套接字库,绑定端口,建立监听等。维护信息包括维护客户端的 用户信息,向客户端发送其他的客户端信息。通信请求所需做的工作最多,服务器接收客 户端发来的消息,进行判断,决定下一步操作。语音传递功能,由服务器将接收到的语音 信息传递给其它客户端。服务器功能的优化设计:服务器作为客户端之间的桥梁,从实际应用的角度出发,不应该把客户端所有的操作 全部由服务器来承担,做这样的优化,一方面为了减轻服务器端处理的信息量,使服务器 从繁重的任务中解脱出来,处理更加紧迫的任务;另一方面,客户端之间的一些不涉及到 服务器的操作,由客户端之间采取点对点的方式
19、来完成,这就可以减少数据传递的时间。 比如在文件发送的时候,若采取将客户端的数据发到服务器,然后再由服务器发回接收客 户端,这就会花费很多的时间,使用户难以接受。3. 3服务器端的工作流程图5服务器的工作流程图图5显示了详细的服务器工作流程,服务器启动以后建立了两个线程,其中一个用于 监听客户端的连接,以便维护在线用户的数据库,另外一个线程用于处理由客户端发来的 各种请求。如用户刷新在线用户列表,服务器则通过此线程将新的在线客户端信息传递给 该客户端。3.4服务器端控件的设计服务器界面的控件属性表如下所示:表1服务器的控件属性表:控件类型控件标识属性属性值Static TextIDC_LIST
20、1TextStatic TextIDC_STATICTextIP:ButtonIDC_SERVERSTARTCaption启动ButtonIDC_SERVEREXITCaption退出3.5服务器端界面的设计图6服务器启动界面图6显示了服务器初始界面的设计,当单击了启动按钮以后,便可以在电脑上建立服 务器,通过此程序来为客户端的登录做准备,并为其提供服务。图7语音聊天服务器图7显示了语音聊天服务器的界面,系统将语音聊天服务器独立出来,用来转发客户 端之间的语音信息。独立出来此模块,有助于更好的实现语音通信。4. 客户端的功能设计客户端的工作也比较复杂,它具有如下基本功能:(1) 创建文字信息接
21、收线程,收发文字信息,可以实现客户端之间的文字信息的通信。(2) 语音信息的收集与播放功能。客户端接收来自服务器发来的语音信息,将信息存储 到本地内存,然后播放,实现语音聊天。客户端具有采集语音信息的能力,采集后发送。(3) 客户端之间的文件交换。设计了另外两个线程,用于发送和接收文件。当另一用 户请求文件发送时,先将此信息发送给对方,等待对方的确认。若同意接收,由接收方新 建一个接收线程,并连接发送方,由此可以实现文件的传输。在传输的过程中显示文件发 送的进度。发送和接收文件独立于文字聊天和语音聊天的功能,通过建立独立的套接字, 在另一个端口进行绑定。4.1客户端的功能框架图在客户端的功能中
22、,增加了文字聊天,文件发送和语音聊天,其功能图如下所示:客户端J配查接修异置看收改常环资信资处境料息料理文文语字件音聊传聊天输天图8客户端功能框架图为了更好的完成上述功能,对客户端功能的实现采取如下优化设计:文件交换功能采用点对点的方式,客户端在登录服务器以后,便保存了由服务器发来 的在线的客户端基本信息。当发送文件时,直接调出该信息,建立一个线程,等待接收方 的连接,连接成功后就可以进行文件的传输。这种点对点的文件传输方式大大减少了所需 的时间,使文件传递的更加迅速。语音聊天的功能采用了比较底层的波形处理API函数,主要是考虑到底层函数对设备 操作的方便性,及时性,底层的函数可以更好的处理传
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 即时网络通信软件的设计与实现 毕业论文 即时 网络 通信 软件 设计 实现
链接地址:https://www.31ppt.com/p-5077838.html