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