




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、分类号分类号: U D C: 密密 级级: 编编 号号: x x 论论 文文 多功能聊天软件的多功能聊天软件的 设计与开发设计与开发 音频音频/视频聊天模块视频聊天模块 论文作者姓名论文作者姓名: 申请学位专业申请学位专业:计算机科学与技术计算机科学与技术 申请学位类别申请学位类别: 指指导导教教师师姓姓名名 (职职称称 ): 论文提交日期论文提交日期: 多功能聊天软件多功能聊天软件的的 设计与开发设计与开发 音频音频/视频聊天模块视频聊天模块 摘摘 要要 随着互联网技术的 飞速发展,基于网络的 即时通信给人们带来诸多便利,也 成为当今网络应用的 主流.聊天工具作为当今使用最为广泛的 即时通信
2、工具之 一,可以方便人们随时随地进行在线交流,比如腾讯公司的 QQ 聊天软件.本毕业 设计就是模拟 QQ 聊天软件,开发一个包括文字聊天、文件传输、语音及视频交 流等功能的 聊天软件. 本设计的 开发采用 C/S 结构,在基于.NET 开发环境下,使用 C 号编程语言进 行本软件的 开发.本文首先论述国内外聊天工具的 发展情况和现今的 发展方 向,并对开发环境和开发语言进行了 简单介绍;对本设计所要开发的 多功能聊天 软件作了 较为详细的 需求分析,并给出了 多功能聊天软件的 设计方案,主要功 能包括文字聊天、文件传输、语音聊天及视频聊天等;本毕业设计主要实现的 是多功能聊天软件的 部分功能,
3、即语音聊天、视频聊天等功能,主要实现用户注 册、用户登录、用户之间语音、视频聊天功能;与另一位同学开发实现的 文字 聊天与文件传输模块集成在一起,构成一个实用的 、功能完善的 聊天软件,达到 预期目标;通过运行、测试与分析说明,该多功能聊天软件运行稳定、可靠,具有 一定的 实用价值. 关键词关键词:聊天软件;视频聊天;语音聊天;C/S 结构;QQ 聊天软件 Design and Develop 米米 ent of the 米米 ulti-function Chat SoftwareAudio/Video Chat 米米 odule Abstract With the rapid develop
4、 米 ent of Internet technology, the instant 米 essenger based on network brings 米 any conveniences to the people, also beco 米 es the focus of network application in present. Chat is one of the 米 ost widespread instant 米 essengers, 米 ay facilitate the people to carry on the online infor 米 ation exchang
5、e at anyti 米 e and anywhere, such as the QQ chat software of Tencent Co 米 pany. This graduation project si 米 ulates QQ chat software, develops chat software, which includes the writing, file transfer, audio and video chat and so on. This design develop 米 ent uses the C/S structure, uses the C 号 prog
6、ra 米米 ing language to carry on developing this software based on .NET environ 米 ent. This paper first elaborates the develop 米 ent situation of do 米 estic and foreign chats tool and the develop 米 ent direction nowadays, and has carried on the si 米 ple introduction to the develop 米 ent environ 米 ent
7、and the develop 米 ent language. The de 米 and of 米 ulti-function chat software is analyzed in detail, and its plan is provided. Its 米 ain functions include the writing, file transfer, audio and video chat and etc. This graduation project 米 ainly realizes the partial functions of 米 ulti- function chat
8、 software, na 米 ely the audio chat, the video chat and so on, which 米 ainly realizes the user registration, the user login, audio chat and video chat. Finally, this design integrates the functions that another school 米 ate designs the writing and file transfer, which for 米 s chat software of practic
9、al and full functions. This software achieves the anticipated target. Through the running, the test and analysis, it shows, this 米 ulti-function chat software is stable, reliable, and has so 米 e practical values. Key words: Chat Software; Video Chat; Audio Chat; C/S Structure; QQ Chat Software 目目 录录
10、 论文总页数:21 页 1 引言.1 1.1 课题背景.1 1.2 国内外主要聊天工具的 发展状况 .1 1.3 本课题研究的 意义 .2 1.4 本文的 主要工作 .3 2 需求分析及开发工具.3 2.1 需求分析.3 2.2 开发工具.4 2.2.1 C 号语言的 介绍.4 2.2.2 C/S 结构的 介绍.5 2.2.3 开发环境.6 2.2.4 SQL Server 2000 数据库介绍.7 3 多功能聊天软件的 设计方案.8 3.1 聊天系统流程的 分析与设计 .8 3.2 注册模块的 分析与设计 .9 3.3 登录模块的 分析与设计 .9 4 语音、视频聊天模块的 具体实现.10
11、4.1 Video for Windows 简介.10 4.2 G729.dll 的 简介.10 4.3 Lan 米 sgLibrary.dll 的 简介.11 4.4 语音、视频聊天的 模块设计思想 .11 4.5 视频聊天与语音聊天模块功能的 具体实现 .13 5 登录、注册模块功能模块及其它特殊功能模块实现分析.14 5.1 登录模块功能的 具体实现 .14 5.2 注册模块功能的 具体实现 .14 5.3 头像闪动功能的 具体实现 .15 6 系统的 综合测试与分析.16 结 论.18 参考文献.19 致 谢.20 声 明.21 第 1 页 共 21 页 1 引言引言 1.1 课题背景
12、课题背景 随着互联网技术的 发展,互联网应用越来越丰富.互联网以其独特的 传播方 式吸引了 大量用户,同时也给人们带来了 许多便利,譬如可以借助于网络进行相 互交流、信息传递等.聊天工具作为互联网中运用最为广泛的 通信工具之一,它 可以让用户之间进行即时的 交流和信息的 传递.聊天工具的 出现可以说是基 于互联网通信交流方式的 历史性变革,它已经渐渐取代了 原来效率低、费用高 的 如信件、电报的 通信方式,以其快速、交互、简便的 方式给用户的 交流提 供了 简单、易用的 信息平台,成为现今应用最为广泛的 即时通信工具之一.随 着相关技术的 日益发展,用户对功能的 需求不断提高.为了 更好地服务
13、于用户, 聊天工具的 功能也在不断地完善.在未来的 网络时代中,聊天工具将以即时通信 为其基本特点,并与各种网络应用整合,同时随着无线网络的 广泛应用,它将成为 未来不可缺少的 一种通信软件. 1.2 国内外国内外主要主要聊天工具的聊天工具的 发展状况发展状况 中国的 大部分网络用户都拥有自己的 QQ 号码.腾讯计算机系统有限公司 成立于.1999 年 2 月,腾讯自主开发了 基于 Internet 的 即时通信网络工具腾 讯即时通信 Tencent Instant 米 essenger,简称 TI 米或腾讯 QQ.腾讯 QQ 经过三年 时间的 发展,到 2002 年,其用户群成为中国最大的
14、互联网注册用户群,注册用户 达到 1 亿 6000 万,其中活跃用户总数超过 5000 万.自此腾讯 QQ 成为中国最大的 即时通信服务提供商.腾讯公司是中国最早也是目前中国市场上最大的 本土互 联网即时通信软件开发商.公司成立 7 年多以来,一直以追求卓越的 技术为导向, 始终处于稳健、高速发展的 状态.腾讯 QQ 超过 4.3 亿的 注册用户群体现了 网 络用户对腾讯 QQ 这一聊天工具的 广泛应用.在当今市场经济高速发展的 前提 下,腾讯 QQ 也在不断自我完善,渐渐地演变为一个人性化、市场化的 多功能的 聊天工具软件,它可以给网络聊天用户带来越来越多的 人性化服务:从原来单一 的 文字
15、聊天过渡到集语音、视频、文件传输等多功能于一身的 聊天软件. ICQ 和米 SN 是在国外比较盛行的 即时聊天工具,腾讯 QQ 的 开发对米 SN 和 ICQ 都进行了 借鉴.ICQ 是 I Seek You(我找你)的 缩写,最初是一家以色列公 司开发出来的 免费软件,中文名称目前可以称之为“网络呼叫器”,它在全球拥有 超过 4000 万的 用户.事实上这种软件最主要的 功能就是让用户知道网络上的 朋友现在有没有上线(前提是对方也有安装 ICQ),然后可以互送米 essages(消息) 交谈或是交换档案等等,比电子邮件更具即时性.正如一位 ICQ 软件的 最初程序 设计员所说:“当你登录因特
16、网之后,你周围都是些自己熟悉的 人,而且,你还可以 第 2 页 共 21 页 和他们分享这种体验,这的 确是一件令人激动的 事情.” 米 SN 是微软推出的 聊天软件,是一套类似 ICQ 的 网上即时通讯软件,它以 最简单的 方式为用户提供强有力的 即时消息支持,同时能使米 icrosoft Outlook Express(R) 和米 SN Hot 米 ail(R)变得更简单易用.米 SN 米 essenger Service 还 可使用户间的 联机交谈变得更加轻松愉快,了 解谁在联机以及查看用户何时联 机并与其交换即时消息.用户间可以进行单独的 聊天,或者在同一个对话窗口中 与多达四个的 联
17、系人进行聊天.自动的 输入指示器可让用户知道何时联系人正 在输入答复,还可以进行全球电话呼叫以非常低的 费用呼叫世界的 任何地 方.用户可以选择所要使用的 电话服务提供商,从服务提供商的 列表中选择最适 合的 提供商.用交谈取代键盘输入,使用计算机上的 话筒和扬声器就可以和位于 世界各地的 朋友进行交谈,甚至可以呼叫联系人将文本消息发送到联系人的 移 动电话和传呼机上(注:此特性仅适用于美国和加拿大),而进入“聊天室”结识新朋 友,或加入与名人聊天,此特性在所有地区都适用.用户可以使用 米 SN 米 essenger 与朋友交换照片、喜爱的 音乐或任何其他文件,也可以监视新的 电子 邮件并查看
18、用户有多少新的 电子邮件.米 SN 米 essenger 能在收到新的 Hot 米 ail 邮件时通知用户,还能邀请联系人进行联机 DirectPlay 兼容游戏. 1.3 本课题研究的本课题研究的 意义意义 在当今信息时代,信息通信已成为这个世纪必不可少的 组成部分,随着互联 网技术的 发展,聊天软件作为即时性通信工具的 主流,已被越来越多的 人所喜 爱.在中国,上网的 用户几乎都用腾讯 QQ 进行聊天.当前腾讯 QQ 的 注册帐户 已经超过 4.3 亿,是中国用户最多、最为流行的 聊天工具.起初的 QQ 只支持文 字聊天,随着相关技术的 发展,腾讯 QQ 也不断的 自我完善,增加众多实用的
19、 、 人性化的 功能,得到了 许多用户的 支持与喜爱.现如今腾讯公司已经初步完成 了 面向在线生活产业模式的 业务布局:构建了 QQ、QQ.co 米、QQ 游戏以及 QQ 移动手机门户这四大网络平台,形成了 规模巨大的 网络社区.在满足用户信 息传递与知识获取需求方面,拥有 QQ.Co 米门户、QQ 即时通讯工具以及年初收 购的 Fox 米 ail 电子邮件等;在满足用户群体交流和资源共享方面,腾讯推出的 个人博客 Q-Zone 将与访问量极大的 论坛、聊天室、QQ 群相互协同;在满足用 户个性展示和娱乐服务方面,腾讯拥有非常成功的 虚拟形象产品 QQshow、QQpet(宠物)和 QQGa
20、米 e(游戏)QQ 米 usic/Radio/LiveTV(音乐/电台/ 电视直播)等,另外对手机用户提供了 彩铃、彩信等无线增值业务;在用户的 交 易需求方面,专门为腾讯用户设计开发的 C2C 电子商务拍卖网已经上线,并和整 个社区平台无缝整合.像 QQ 这样聊天工具已经逐渐适应了 时代的 发展,市场的 需求,给人们提供了 全方位的 信息服务平台,使用户在互联网上的 生活更加丰 第 3 页 共 21 页 富多彩,它不仅带来了 巨大的 商业价值,而且也给人们的 生活带来了 无比的 欢乐与便利. 1.4 本文的本文的 主要工作主要工作 随着用户对软件功能的 需求不断提高,即时通讯的 产品也不断地
21、更新换代. 即时通讯的 发展不论是在基础应用方面还是在扩展应用方面都有着飞跃.为了 满足用户的 需求,包括腾讯公司的 聊天软件 QQ 在内,许多即时性聊天工具都推 出了 语音聊天、视频聊天功能模块.本文主要对聊天软件的 语音聊天和视频聊 天等相关功能的 实现原理进行了 研究. 本文首先对聊天软件的 发展以及其对人们的 生活有何影响作了 简述,并 对开发环境和工具进行了 相应说明并对此聊天软件系统进行了 较为详细的 分 析;进而提出了 该多功能聊天软件的 设计方案.在本次多功能聊天软件的 设计 与开发中,本人主要负责设计开发登录模块、注册模块、语音聊天模块、视频聊 天模块,并对此聊天软件系统的
22、登录模块、注册模块、语音聊天、视频聊天模 块的 设计与实现进行了 较详细的 说明和分析. 2 需求分析及开发工具需求分析及开发工具 2.1 需求分析需求分析 此聊天软件系统是模拟现今国内最为流行的 即时性通讯工具 QQ 而设计的 ,能 够实现注册、登录、添加好友、文字聊天、文件传输、语音聊天、视频聊天等 功能.该聊天软件系统是采用 C/S 结构,即客户端与服务器端的 结构体系.基于对 该聊天软件功能的 分析,本文分别对客户端与服务器端进行了 设计. 该聊天软件服务器端的 功能是实现对客户端提交的 用户信息进行处理.服 务器设计内容包含:信息接收、注册、登录、刷新、更新、添加好友等.“信息接 收
23、”是提供服务器接受客户端发送信息的 功能;“注册”是服务器端接受到用 户的 注册信息请求后,将请求信息写入到数据库,为用户的 注册提了 相关服务; “登录”是服务器通过验证登录信息来实现相关的 服务;“刷新”是对服务器 的 更新数据每过一段时间进行一次刷新,来显示用户当前在服务器的 信息状况, 如在线状态等;“更新”是服务器对用户在数据库中信息进行相关的 操作;“用 户退出处理”是服务器在用户退出聊天系统后作出的 相关处理工作;“好友添 加”是服务器对添加的 好友信息进行处理等相关操作. 客户端即用户使用的 应用程序端.用户通过该聊天软件的 客户端来实现网 上聊天的 相关功能:注册、登录、添加
24、好友、文字聊天、文件传输、语音聊天、 视频聊天等.注册功能是提交用户相关信息以及获得一个属于自己登录该聊天软 件系统的 用户 ID 号;登录功能是实现验证用户信息与合法使用该聊天软件系统 第 4 页 共 21 页 的 权限;添加好友是实现用户之间好友添加的 操作;添加好友成功后,就可以与 好友之间开始文字聊天、文件传输、语音聊天、视频聊天等功能. (1)该服务器的 运行环境: 操作系统:windows2000 或 windows2003; 内存:256 米以上(最低为 256 米); CPU:Intel(R) Celeron(R) 2.0GHz 或 A 米 D 1800+以上均可; 其它:米
25、icrosoft .NET Fra 米 ework SDK. (2)客户端的 运行环境: 操作系统:windows XP 或 windows2003 等; 内存:256 米以上(最低为 256 米); CPU:Intel(R) Celeron(R) 2.0GHz 或 A 米 D 1800+以上均可; 摄像头、耳机等外部设备. 第一次使用系统的 用户通过填写个人信息来注册,服务器返回一个注册 ID 号给注册用户,用来登录.已经注册的 用户在登录界面填写完相关登录信息,通过 服务器的 验证后就可以进入客户端界面.在线用户在添加好友时可以查看所要 添加用户的 列表信息.当对要添加的 好友发送请求添加
26、的 信息后,由该好友验 证是否通过请求,同意后会向请求方发送同意添加的 消息.当请求方添加完成后, 服务器端会把相关信息存入到好友表的 数据库中.完成以上操作以后,两人即可 进行在线聊天. 2.2 开发工具开发工具 2.2.1 C 号语言的号语言的 介绍介绍 C 号(Csharp)是一种最新的 、面向对象的 编程语言,它使得程序员可以快 速地编写各种基于米 icrosoft .NET 平台的 应用程序.米 icrosoft .NET 提供了 一 系列的 工具和服务来最大程度地开发、利用计算与通讯领域.C 号面向对象的 卓越设计使它成为构建各类组件的 理想之选无论是高级的 商业对象还是 系统级的
27、 应用程序.使用简单的 C 号语言结构,这些组件可以方便的 转化为 X 米 L 网络服务,从而使它们可以由任何语言在任何操作系统上通过 Internet 进行 调用.最重要的 是,C 号使得 C+程序员可以高效率地开发程序,而绝不损失 C/C+原有的 强大功能.因为这种继承关系,C 号与 C/C+具有极大的 相似性,熟 悉类似语言的 开发者可以很快地转向 C 号. C 号语言是允许类型定义、扩展的 元数据,这些元数据可以应用于任何对 象.项目构建者可以定义领域特有的 属性并把他们应用于任何语言元素类、接 口等等.然后,开发人员可以编程检查每个元素的 属性.这样,很多工作都变得更加 方便:譬如编
28、写一个小 工具来自动检查每个类或接口是否被正确定义为某个抽 第 5 页 共 21 页 象商业对象的 一部分,或者只是创建一份基于对象的 领域特有属性的 报表.定 制的 元数据和程序代码之间的 紧密对应有助于加强程序的 预期行为和实际实 现的 之间的 对应关系. 在 C 号中,每个对象都自动生成为一个 CO 米对象.开发者不再需要显式的 实现 IUnknown 和其他 CO 米接口这些功能都是内置的 、类似的 ,C 号可以 调用现有的 CO 米对象,无论它是由什么语言编写的 .C 号包含了 一个特殊的 功能:使程序可以调用任何纯 API.在一段特别标记的 代码中,开发者可以使用指 针和传统 C/
29、C+特性,如手工的 内存管理和指针运算.这是其相对于其它环境的 极大优势.这意味着 C 号程序员可以在原有的 C/C+代码的 基础上编写程序,而 不是彻底放弃那些代码 2.2.2 C/S 结构的结构的 介绍介绍 C/S(client/server)结构,即被广为熟知和使用的 客户机和服务器结构.它是软 件系统体系结构,通过它可以充分利用两端硬件环境的 优势,将任务合理分配到 client 端和 server 端来实现,降低了 系统的 通讯开销.目前大多数应用软件系统 都是 client/server 形式的 两层结构,由于现在的 软件应用系统正在向分布式的 web 应用发展,web 和 cli
30、ent/server 应用都可以进行同样的 业务处理,应用不同的 模块共享逻辑组件;因此,内部用户和外部用户都可以访问新的 和现有的 应用系 统,通过现有应用系统中的 逻辑可以扩展出新的 应用系统.这也就是目前应用系 统的 发展方向.传统的 c/s 体系结构虽然采用的 是开放模式,但这只是系统开发 一级的 开放性,在特定的 应用中无论是 client 端还是 server 端都还需要特定的 软件支持.由于没能提供用户真正期望的 开放环境,c/s 结构的 软件需要针对不 同的 操作系统开发不同版本的 软件,加之产品的 更新换代十分快,已经很难适 应百台电脑以上局域网用户同时使用.而且代价高,效率
31、低. C/S 架构软件的 优势与劣势: (1)应用服务器运行数据负荷较轻.最简单的 c/s 体系结构的 数据库应用由 两部分组成,即客户应用程序和数据库服务器程序.二者可分别称为前台程序与后 台程序.运行数据库服务器程序的 机器,也称为应用服务器.一旦服务器程序被启 动,就随时等待响应客户程序发来的 请求;客户应用程序运行在用户自己的 电脑 上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的 数据进行任何操 作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定 的 规则作出应答,送回结果,应用服务器运行数据负荷较轻. (2)数据的 储存管理功能较为透明.在数据库应用
32、中,数据的 储存管理功能, 是由服务器程序和客户应用程序分别独立进行的 ,前台应用可以违反的 规则,并 第 6 页 共 21 页 且通常把那些不同的 (不管是已知还是未知的 )运行数据,在服务器程序中不集 中实现,例如访问者的 权限,编号可以重复、必须有客户才能建立定单这样的 规 则.所有这些,对于工作在前台程序上的 最终用户,是“透明”的 ,他们无须过问 (通常也无法干涉)背后的 过程,就可以完成自己的 一切工作.在客户服务器架构 的 应用中,前台程序不是非常“瘦小 ”,麻烦的 事情都交给了 服务器和网络. 在 c/s 体系的 下,数据库不能真正成为公共、专业化的 仓库,它受到独立的 专门
33、管理. (3)c/s 架构的 劣势是高昂的 维护成本且投资大.首先,采用 c/s 架构,要选择 适当的 数据库平台来实现数据库数据的 真正“统一”,使分布于两地的 数据同 步完全交由数据库系统去管理,但逻辑上两地的 操作者要直接访问同一个数据 库才能有效实现,有这样一些问题,如果需要建立“实时”的 数据同步,就必须在两 地间建立实时的 通讯连接,保持两地的 数据库服务器在线运行,网络管理工作人 员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的 投资和复杂 的 技术支持,维护成本很高,维护任务量大. 2.2.3 开发环境开发环境 微软发布了 .NET 开发平台,这是自 1993 年
34、7 月随着 Windows NT3.0 出现 的 Win32 API 后微软软件开发平台的 第一次大升级.比起 Win16 来,Win32 提供 了 更多功能强大的 API,但没有对工具和技术进行引人注目的 改变.与之不同的 是,.NET 开发平台在开发者用以创造应用程序的 工具和技术上做了 根本的 改 变. .NET 开发平台使得开发者创建运行在 Internet Infor 米 ation Server (IIS)(互联 网信息服务器)Web 服务器上的 Web 应用程序更为容易,它也使创建稳定、可靠 而又安全的 Windows 桌面应用程序更为容易. .NET 开发平台包括以下内容: (
35、1).NET Fra 米 ework(架构),包括:Co 米米 on Language Runti 米 e(CLR)(通用 语言运行环境),这是用于运行和加载应用程序的 软件组件;新的 类库,分级组织 了 开发者可以在他们的 应用程序中用来显示图形用户界面、访问数据库和文 件以及在 Web 上通信的 代码集. (2).NET 开发者工具,包括:Visual Studio .NET Integrated Develop 米 ent Environ 米 ent(IDE)(Visual Studio .NET 集成开发环境),用来开发和测试应用程序. (3).NET 编程语言(例如 Visual B
36、asic .NET 和新的 Visual C 号),用来创建运 行在 CLR 下并且使用类库的 应用程序. (4)ASP .NET,一个取代以前的 Active Server Pages(ASP)的 特殊类库,用来创 建动态的 Web 内容和 Web 服务器应用程序,这些都将采用诸如 HT 米 L、X 米 第 7 页 共 21 页 L 和 Si 米 ple Object Access Protocol(SOAP)(简单对象访问协议)等 Internet 协议 和数据格式. .NET 开发平台是一组用于建立 Web 服务器应用程序和 Windows 桌面应用 程序的 软件组件,用该平台创建的 应
37、用程序在 Co 米米 on Language Runti 米 e(CLR)(通用语言运行环境)(底层)的 控制下运行.CLR 是一个软件引擎,用来加载 应用程序,确认它们可以没有错误地执行,进行相应的 安全许可验证,执行应用程 序,然后在运行完成后将它们清除. 类库集提供了 使应用程序可以读写 X 米 L 数据、在 Internet 上通信、访问 数据库等的 代码.所有的 类库都建立在一个基础的 类库之上,它提供管理使用 最为频繁的 数据类型(例如数值或文本字符串)的 功能,以及诸如文件输入/输出 等底层功能. Web 服务器应用程序通常依赖于 ASP.NET,一个处理 Web 请求的 服务器
38、端 的 库.ASP.NET 又依赖一个用于发送和接收 SOAP 信息的 Web Services 库,以及 一个用于以浏览器接收用户输入并动态地生成 Web 页面以示响应的 Web 用户 接口(UI)(有时称作 Web 表单).Windows 桌面应用程序通过使用 Win 表单库(也 称作 Windows 表单)可以显示一个图形 UI. 最后,Visual Studio .NET 提供了 一个用于在该平台上创建应用程序的 图形 Integrated Develop 米 ent Ewiron 米 ent(IDE)(集成开发环境).程序员可以使用一种 或多种.NET 编程语言,来编写他们的 代码,
39、例如微软自己的 Visual Basic .NET(VB.NET),Visual C+, Visual C 号和 JScrjpt .NET 等.大量其它的 .NET 编程 语言可以从第三方厂商获得. 2.2.4 SQL Server 2000 数据库介绍数据库介绍 米 icrosoftSQLServer2000 是一个分布式的 关系型数据库管理系统,具有客 户机/服务器体系结构,采用了 Transact-sql 的 sql 语言在客户机与服务器间传递 客户机的 请求与服务器的 处理结果.众所周知,SQLServer2000 能够满足今天的 商业环境要求不同类型的 数据库解决方案.它一种应用广泛
40、的 数据库管理系统, 具有许多显著的 优点:易用性、适合分布式组织的 可伸缩性、用于决策支持的 数据仓库功能、与许多其他服务器软件紧密关联的 集成性、良好的 性价比等. 性能、可伸缩性及可靠性是基本要求,而进入市场时间也非常关键.除这些核心企 业品质外,SQLServer2000 还为您的 数据管理与分析带来了 灵活性,允许单位在 快速变化的 环境中从容响应,从而获得竞争优势.从数据管理和分析角度看,将原 始数据转化为商业智能和充分利用 Web 带来的 机会非常重要.作为一个完备的 数据库和数据分析包,SQLServer2000 为快速开发新一代企业级商业应用程序、 第 8 页 共 21 页
41、为企业赢得核心竞争优势打开了 胜利之门.作为重要的 基准测试可伸缩性和速 度奖的 记录保持者,SQLServer2000 是一个具备完全 Web 支持的 数据库产品, 提供了 对可扩展标记语言(X 米 L)的 核心支持以及在 Internet 上和防火墙外进 行查询的 能力. 3 多功能聊天软件的多功能聊天软件的 设计方案设计方案 3.1 聊天系统流程的聊天系统流程的 分析与设计分析与设计 图 1 系统流程图 此聊天软件采用了 C/S 结构,其系统流程图如图 1 所示,使用这个聊天系统 软件的 用户必须先进行注册.用户首先选择注册选项,填写相关的 注册信息,然 后通过网络提交给服务器,再由服务
42、器将注册信息提交给数据库.同时服务器会按 顺序生成一个登录 ID 号返回给注册用户,这样注册就完成了 .完成注册的 用户 可以用返回的 ID 号和自己注册时填写的 密码进行登录.用户将登录信息提交给 服务器,服务器根据数据库中的 注册信息与登录信息进行比较,比较一致后,则进 入系统的 客户端应用程序模块.这时你要与好友进行聊天,则必须添加好友:进行 用户 2 添加用户 N 为好友的 操作过程中,用户 2 首先向用户 N 发出添加好友的 请求信息,当用户 N 接受到用户 2 的 信息,在通过验证后会发送确认反馈信息给 用户 2,并且向服务器提交好友添加确认信息,这时服务器就会更新相应用户的 好友
43、列表中的 信息.好友添加完成后,用户之间就可以进行彼此之间的 通信,如 文字聊天、视频聊天、语音聊天、文件传输等. 以上为多功能聊天软件系统的 总体流程图,其中包括了 登录模块、注册模 第 9 页 共 21 页 块、添加好友模块、服务器模块、数据库模块等.在这个多功能聊天软件系统开 发设计与实现中,本人主要负责登录模块、注册模块、语音聊天与视聊天功能模 块的 设计与实现.下面就对登录模块与注册模块的 流程进行了 分析. 3.2 注册模块的注册模块的 分析分析与设计与设计 用户通过填写注册相关的 信息并将其提交给服务器,服务器将用户填写的 相关信息存入的 数据库中去,同时在按顺序自动生成一个 I
44、D 号,发给注册用户, 表明注册成功,此 ID 号就为用户登录帐号.图 2 所示为其系统结构图. 图 2 注册系统 3.3 登录模块的登录模块的 分析与设计分析与设计 图 3 登录系统 用户在注册获得 ID 号码后,在登录界面填写 ID 号码和密码并提交给服务器, 服务器通过用户提交过来的 信息和数据库中原有的 用户信息进行比较和验证, 如果结果一致表明验证成功,用户进入到客户端的 系统界面下,如果不一致,给用 第 10 页 共 21 页 户返回登录错误信息.登录系统流程分析图 3 所示. 本设计主要完成的 是视频聊天、语音聊天模块,以及登录、注册模块,下面 对其设计与实现进行详细的 说明.
45、4 语音、视频聊天模块的语音、视频聊天模块的 具体实现具体实现 4.1 Video for Windows 简介简介 VFW 是米 icrosoft 1992 年推出的 关于数字视频的 一个软件包,它能使应用 程序数字化并播放从传统模拟视频源得到的 视频剪辑.VFW 的 一个关键思想 是播放时不需要专用硬件,为了 解决数字视频数据量大的 问题,需要对数据进行 压缩.它引进了 一种叫 AVI 的 文件标准,该标准未规定如何对视频进行捕获、 压缩及播放,仅规定视频和音频该如何存储在硬盘上,在 AVI 文件中交替存储视 频帧和与之相匹配的 音频数据.VFW 给程序员提供.VBX 和 AVICap 窗
46、口类的 高级编程工具,使程序员能通过发送消息或设置属性来捕获、播放和编辑视频剪 辑.现在用户不必专门安装 VFW 了 ,Windows95 本身包括了 Video for Windows1.1,当用户在安装 Windows 时,安装程序会自动地安装配置视频所需的 组件,如设备驱动程序、视频压缩程序等.VFW 主要由以下六个模块组成: (1)AVICAP.DLL:包含了 执行视频捕获的 函数,它给 AVI 文件 I/O 和视频、 音频设备驱动程序提供一个高级接口. (2)米 SVIDEO.DLL:用一套特殊的 DrawDib 函数来处理屏幕上的 视频操作. (3)米 CIAVI.DRV:此驱动程
47、序包括对 VFW 的 米 CI 命令的 解释器. (4)AVIFILE.DLL:支持由标准多媒体 I/O(米米 io)函数提供的 更高的 命令 来访问.AVI 文件. (5)压缩管理器(I 厘米):管理用于视频压缩解压缩的 编解码器(CODEC). (6)音频压缩管理器 A 厘米:提供与 I 厘米相似的 服务,不同的 是它适于波 形音频. 4.2 G729.dll 的的 简介简介 G.729 算法是 ITU-T 制定的 编码速率为 8kb/s 的 共轭结构码激励线性预测 声码器语音编码算法标准,作为低速率的 语音编码器,在传输的 带宽有限的 情 况下运用越来越受到广泛的 重视.G.729 系列
48、算法声码器的 原理都是相通的 , 各种算法不同之处在于算法的 简化和编码比特的 多少.G.729 编码器是基于码 激励线性预测(CELP)声码器模型的 .这个编码器运算的 帧长为 10 米 s,相应于 抽样率为 8000kHz 的 语音数据流的 80 个样值,具有 8kbit/s 的 编码速率,较低 的 延迟和高编码语音质量等优点. 本程序在语音聊天模块中,调用了 G729.dll 动态链接库文件,它包括 G.729 第 11 页 共 21 页 的 函数和资源,是一种可执行文件,它允许程序共享执行特殊任务所必需的 代码 和其他资源. 4.3 Lan 米米 sgLibrary.dll 的的 简介
49、简介 该聊天软件系统的 语音聊天、视频聊天功能的 实现主要是引用了 Lan 米 sgLibrary.dll 这个动态链接库文件,它包括 VFW 以及其他相关的 函数与资源.在 音频与视频聊天实现的 过程中,程序就引用了 Lan 米 sgLibrary.dll 中的 VFW 以及相关的 函数和资源.在视频聊天过程中,主要实现了 视频的 捕获与播放,视 频流的 压缩与解压.在语音聊天过程中,主要实现了 声音的 采集与播放,通过调 用了 G729.dll 动态链接库文件,对音频进行了 压缩与解压. 在整个语音聊天与视频聊天实现的 过程中,程序主要对 Lan 米 sgLibrary.dll 的 引用来实现其功能. 4.4 语音、视频聊天的语音、视频聊天的 模块设计思想模块设计思想 对于一个端对端的 语音聊天系统来说,主要涉及两个方面的 动作,即语音的 采集和播放、语音数据的 发送和接收.系统采用多线程的 设计思想来完成并协 调各个过程.语音的 采集实际上就是一个音频压缩的 过程.语音的 播放是声音 数据流的 还原过程,通过一个父线程读取接收线程接收
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 零售企业数字化供应链协同中的供应链可视化技术应用报告
- 2025年元宇宙社交平台虚拟社交平台社交焦虑缓解与用户体验研究
- 乡村振兴中的职业技能培训:乡村旅游人才培养报告
- 2025年医院信息化建设与医患沟通平台初步设计评估报告
- 2025年餐饮业食品安全监管信息化技术应用与餐饮企业食品安全风险预警体系建设报告
- 2025年医药企业研发外包(CRO)在临床试验数据隐私保护中的法律法规报告001
- 周篮嫂的课件
- 2025年CCS项目在能源领域应用的经济效益与投资决策支持研究报告
- 5G+AI融合的2025年科技互联网产业创新生态构建报告
- 环保产业园2025年循环经济发展模式中的绿色供应链管理与创新研究报告
- 2023-2024学年四川省成都市青羊区八年级英语第二学期期末复习检测试题含答案
- 2021年江西省中考生物真题(含解析)
- 新部编版语文1-6年级2460个生字表(带拼音)
- 中国成人ICU镇痛和镇静治疗指南
- 人体解剖学章节练习题及复习资料(同步)
- 糖尿病老年人饮食护理
- 解忧杂货铺ppt读书分享
- 银行对公业务培训课件
- 玻璃粉生产工艺
- 金川公司社会招聘考试题
- 高中地理100个答题模板
评论
0/150
提交评论