网络视频聊天软件系统的设计与实现 计算机 毕业设计论文文档格式.docx
- 文档编号:1082212
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:45
- 大小:123.07KB
网络视频聊天软件系统的设计与实现 计算机 毕业设计论文文档格式.docx
《网络视频聊天软件系统的设计与实现 计算机 毕业设计论文文档格式.docx》由会员分享,可在线阅读,更多相关《网络视频聊天软件系统的设计与实现 计算机 毕业设计论文文档格式.docx(45页珍藏版)》请在冰点文库上搜索。
2011年6月徐州
中国矿业大学毕业设计任务书
学院计算机专业年级信息安全07-2班学生姓名
任务下达日期:
2011年1月10日
毕业设计日期:
2011年2月21日至2011年6月15日
毕业设计题目:
网络视频聊天软件系统的设计与实现
毕业设计专题题目:
毕业设计主要内容和要求:
1)学习视频通信,软件开发等相关知识与技术。
2)网络聊天软件设计与分析。
3)网络聊天软件的实现。
4)对软件功能,模块进行测试,完善。
5)根据上述工作撰写论文。
院长签字:
指导教师签字:
中国矿业大学毕业设计指导教师评阅书
指导教师评语(①基础理论及基本技能的掌握;
②独立解决实际问题的能力;
③研究内容的理论依据和技术方法;
④取得的主要成果及创新点;
⑤工作态度及工作量;
⑥总体评价及建议成绩;
⑦存在问题;
⑧是否同意答辩等):
成绩:
年月日
中国矿业大学毕业设计评阅教师评阅书
评阅教师评语(①选题的意义;
②基础理论及基本技能的掌握;
③综合运用所学知识解决实际问题的能力;
③工作量的大小;
⑤写作的规范程度;
评阅教师签字:
中国矿业大学毕业设计答辩及综合成绩
答辩
情
况
提
出
问
题
回答问题
正确
基本
正确
有一般性错误
有原则性错误
没有
回答
答辩委员会评语及建议成绩:
答辩委员会主任签字:
学院领导小组综合评定成绩:
学院领导小组负责人:
摘要
视频通信既是最古老的通信方式,也是到目前通信界仍在不断研究和探索的新兴业务。
古代的烽火狼烟可为最早的一种“视频通信”。
本文中视频通信是指连续、动态的图像通信。
由于技术、政策、使用费用等多方面的原因,视频通信业务在全球范围内并没有大规模地使用,但人们一直没有停止提供和使用视频通信业务的努力。
人们对视频通信业务的需求促进与其相关的网络、信息处理、网络接入等技术的发展,同时这些技术的不断发展也反过来促使视频通信业务的不断成熟。
未来视频通信业务将会承载于有线或无线Internet上,同时其服务质量也将会满足商业化发展的需要。
目前面临的挑战是视频通信应用中会涉及很多知识产权问题、家庭组网尚未形成明确的主流技术,此外还有安全问题和商业模式的建立等。
但我国与其他许多国家处在同一起跑线上,存在着许多创新的机会和领域。
本文着重介绍以微软实时通信(RTC)API为基础的网络视频聊天软件的设计与实现,并进行相应的测试与分析。
关键字:
网络视频聊天;
网络视频会议;
微软实时通信(RTC);
VC++6.0;
ABSTRACT
Videocommunicationisthemostancientcommunicationmode,isalsofarsystemsresearchandexplorationcontinuestheemergingbusiness.Ancientfireworkstodefeatoneoftheearliest"
videocommunication"
.Thispaperreferstothevideocommunicationincontinuousanddynamicimagecommunication.Astechnology,policy,usefeesandsoonvariousreasons,videocommunicationsbusinessgloballyandnolarge-scalelanduse,butpeoplehaven'
tstoppedofferingandusevideocommunicationsbusinessefforts.
Peopleonthevideocommunicationsbusinessneedstopromoterelatednetwork,informationprocessing,networkaccesstechnologydevelopment,atthesametimethesetechnologyunceasingdevelopmentinturnpromptedvideocommunicationsbusinesscontinuestomature.FuturevideocommunicationsbusinesswillcarryonwiredorwirelessInternet,anditsservicequalitywillalsomeettheneedsofthedevelopmentofcommercialization.Nowthechallengeistovideocommunicationapplicationswillinvolvealotofintellectualpropertyrights,familynetworkhasnotyetbecomeclearmainstreamtechnology,inadditiontosecurityissuesandbusinessmodelestablishment,etc.ButChinaandmanyothercountriesinthesamestartingline,thereexistmanyinnovativeopportunityandfields.
ThispaperintroducetoMicrosoftreal-timecommunication(RTC)APIbasednetworkvideochatsoftwaredesignandimplementation,andmakesthecorrespondingtestingandanalysis.
Keywords:
Networkvideochat;
Networkvideoconference;
Microsoftreal-timecommunication(RTC);
Vc++6.0;
2.3技术需求3
5软件系统测试21
1概述
1.1设计背景
随着人们对视频和音频信息的需求愈来愈强烈,追求远距离的视音频的同步交互成为新的时尚。
近些年来,依托计算机技术、通信技术和网络条件的发展,集音频、视频、图像、文字、数据为一体的多媒体信息,使越来越多的人开始通过互联网享受到网上生活、远程医疗、远程通讯的乐趣,缩短了时区和地域的距离。
远程通信的各种优势给人们带来的方便也促使人们对这一领域进行更加深入的探索。
基于不同平台以及不同开发工具的网络视频会议系统层出不穷。
视频会议系统在我国开始发展的初期,政府部门的应用就占据了重要位置,覆盖中央到直辖市和各省会城市的国家公众视频会议骨干网已经完工。
自1994年9月投入使用以来,国务院等机关先后利用该网召开了三百多次全国范围的可视通讯会议。
整个系统运行情况良好,得到了国家领导人和各部委领导的高度赞扬。
近年来随着电子政务工程的逐步推进,政府部门更加关注视频会议系统建设。
在经济发达地区(例如浙江、山东、广东),视频会议网已覆盖到地市级城市,有的甚至覆盖到县一级。
除各级政府之外,其它诸如检察院、法院、公安和和水利等职能部门也是视频会议系统的重要用户。
视频会议系统是指通过现有的各种电气通讯传输媒体,将人物的静态/动态图像、语音、文字、图片等多种信息分送到各个用户的计算机上,使得在地理上分散的用户可以共聚一处,通过图形、声音等多种方式交流信息,增加双方对内容的理解能力。
视频会议系统对于减少差旅费用等机构开支;
提高机构运作效率;
提高机构形象有利于加强对外交往;
有利于政策方针的迅速准确传达;
有利于广泛收集意见;
有利于加强内部交流;
员工培训等方面带来巨大的直接和间接效益。
由于视频会议系统的这些优点,使得视频会议系统备受关注。
并且已经有越来越多的人利用这种方式进行交流沟通,不仅方便而且拉近了人与人之间的距离。
现在的一些软件像QQ以及MSN等软件为人们的视频聊天提供了许多方便。
1.2设计意义
视频会议系统可开展企业间的远程视频会议和业务培训。
现在很多公司在全国很多城市都有自己的分公司或是办事处,有时候对于总公司的信息或是培训等不能很好的实施到分公司,现在视频会议系统的使用,跨地域的远程会议变得很容易,总公司的任何信息可通过视频会议系统及时有效地传达到分公司,总公司对分公司人员的培训也可以利用视频会议系统,视频会议系统支持桌面和程序的共享,可以很好的通过视频会议进行产品培训,技术培训等。
在培训的过程中,还可以用视频会议系统里的图板注解、媒体共享、演示共享和文件传输来进行PPT,图片,文档,多媒体等的。
视频会议系统也可实现与异地客户的远程业务谈判。
对于异地的客户,视频会议系统可以进行音视频的同步传输,加入会议的与会人员可以跟会议主席人员进行语音交流,会议主席人员可对参加会议人员提出的问题进行及时回答。
利用这个功能就能很好的实现远程的业务谈判。
利用视频会议系统也可以对客户需要的产品信息及技术知识,可在会议系统里通过PPT进行演示播放,让客户更清晰、明了的了解公司及产品信息,促进商务合作。
视频会议系统还可助力企业的远程销售。
企业在利用视频会议系统来进行远程销售时,对产品或公司的介绍可以全视频播放展示。
视频会议系统可以将产品和企业的介绍作为全视频形式,这样可以使潜在客户更进一步了解企业自身的产品和企业介绍,跟以前仅用图片或文字的方式展示,更容易让客户接受。
视频会议在各行业的广泛应用,使企业降低大量的成本支出,这也是很多企业愿意把视频会议系统纳入到企业的运营中的重要原因。
作为视频会议系统的提供商——傲群信息(Audividi),其总部位于美国加利福尼亚的Fremont。
公司前身(原威盛软件)是世界上最大的独立主机板晶片组设计公司——VIA(威盛电子)的核心科研机构之一,长期为VIA、HTC、VIATelecom等世界知名高科技企业提供嵌入式系统设计和视频通信产品研发。
丰富的技术积累和研发投入,使傲群(Audividi)在通信传输、音视频压缩、数据处理领域拥有多项核心专利技术,具备了业界领先的自主研发与创新实力。
视频会议系统为企业大幅提高运作效率、降低运营成本,是企业提升核心竞争力的必需设备之一,它为企业节约了大量的会议开支和时间,提高处理事务的速度和工作效率,正逐步成为企业在信息时代沟通的新宠儿,使人们工作更快乐、更高效。
2需求分析
2.1系统需求
本软件客户端需要在xp或更高版本Windows系统下运行。
有局域网或广域网连接。
语音通信需要有麦克风,声卡等音频设备支持。
进行视频通信需要摄像头等视频采集设备支持。
2.2开发环境需求
本软件在VC++6.0环境下设计实现,以微软基本类库(MFC)中基于对话框模板为基础;
需要安装微软实时通信(RTC)开发包,版本:
ClientAPIv1.2SDK;
需要socketapi支持。
2.3技术需求
1,VC++编程基础
2,MFC基于对话框模板的结构与原理
3,socket网络编程基础
4,基于C/S模式的网络通信原理
5,微软实时通信(RTC)开发包
2.4功能需求
2.4.1模式
本软件分为点对点IP模式和服务器模式,IP模式下,直接输入通信对象的IP地址即可进行相应语音视频或文字通信。
服务器模式下,需要先连接服务器,连接成功后,即可从服务器获得同时连接服务器的所有客户的昵称,点击昵称即可进行相关通信。
2.4.2通信类型
即时文本通信:
在IP模式或服务器模式下选择通信对象,即可通过点击“文字聊天”进行文本通信,可同时进行多个文本通信过程。
即时语音视频通信:
在IP模式或服务器模式下选择通信对象,即可通过点击“视频聊天”进行语音视频通信。
弹出视频聊天对话框,大窗口显示对方影像,右下小窗口显示本机影像,可进行音量大小等功能的调节。
每个客户端只能打开一个视频通信过程。
2.4.2服务器与客户端
本软件分为服务端与客户端两部分。
服务器端需要建立服务,客户端才能连接。
服务端可以显示当前连接的客户昵称以及IP地址。
客户端则可根据选择进行点对点模式或服务器模式的通信。
进行点对点模式通信不需要连接服务器。
3软件系统设计
3.1相关技术
3.1.1VC++6.0基础
在VC++6.0是Microsoft公司推出的一个基于Windows系统平台、可视化的集成开发环境,它的源程序按C++语言的要求编写,并加入了微软提供的功能强大的MFC(MicrosoftFoundationClass)类库。
MFC中封装了大部分WindowsAPI函数和Windows控件,它包含的功能涉及到整个Windows操作系统。
MFC不仅给用户提供了Windows图形环境下应用程序的框架,而且还提供了创建应用程序的组件,这样,开发人员不必从头设计创建和管理一个标准Windows应用程序所需的程序,而是从一个比较高的起点编程,故节省了大量的时间。
另外,它提供了大量的代码,指导用户编程时实现某些技术和功能。
因此,使用VC++提供的高度可视化的应用程序开发工具和MFC类库,可使应用程序开发变得简单。
3.1.2MFC介绍
MFC,微软基础类(MicrosoftFoundationClasses),同VCL类似,是一种ApplicationFramework,随微软VisualC++开发工具发布。
目前最新版本为9.0(截止2008年11月)。
该类库提供一组通用的可重用的类库供开发人员使用。
大部分类均从CObject直接或间接派生,只有少部分类例外。
MFC应用程序的总体结构通常由开发人员从MFC类派生的几个类和一个CWinApp类对象(应用程序对象)组成。
MFC提供了MFCAppWizard自动生成框架。
Windows应用程序中,MFC的主包含文件为"
Afxwin.h"
。
此外MFC的部分类为MFC/ATL通用,可以在Win32应用程序中单独包含并使用这些类。
由于它的易用性,初学者常误认为VC++开发必须使用MFC。
这种想法是错误的。
作为ApplicationFramework,MFC的使用只能提高某些情况下的开发效率,只起到辅助作用,而不能替代整个Win32程序设计。
MFC,微软基础类(MicrosoftFoundationClasses),实际上是微软提供的,用于在C++环境下编写应用程序的一个框架和引擎,VC++是WinDOS下开发人员使用的专业C++SDK(SDK,StandardSoftWareDevelopKit,专业软件开发平台),MFC就是挂在它之上的一个辅助软件开发包,MFC作为与VC++血肉相连的部分(注意C++和VC++的区别:
C++是一种程序设计语言,是一种大家都承认的软件编制的通用规范,而VC++只是一个编译器,或者说是一种编译器+源程序编辑器的IDE,WS,PlatForm,这跟Pascal和Delphi的关系一个道理,Pascal是Delphi的语言基础,Delphi使用Pascal规范来进行Win下应用程序的开发和编译,却不同于Basic语言和VB的关系,Basic语言在VB开发出来被应用的年代已经成了Basic语言的新规范,VB新加的Basic语言要素,如面向对象程序设计的要素,是一种性质上的飞跃,使VB既是一个IDE,又成长成一个新的程序设计语言),MFC同BC++集成的VCL一样是一个非外挂式的软件包,类库,只不过MFC类是微软为VC++专配的..
MFC是WinAPI与C++的结合,API,即微软提供的WinDOS下应用程序的编程语言接口,是一种软件编程的规范,但不是一种程序开发语言本身,可以允许用户使用各种各样的第三方(如我是一方,微软是一方,Borland就是第三方)的编程语言来进行对WinDOS下应用程序的开发,使这些被开发出来的应用程序能在WinDOS下运行,比如VB,VC++,Java,Dehpi编程语言函数本质上全部源于API,因此用它们开发出来的应用程序都能工作在WinOS的消息机制和绘图里,遵守WinDOS作为一个操作系统的内部实现,这其实也是一种必要,微软如果不提供API,这个世上对Win编程的工作就不会存在,微软的产品就会迅速从时尚变成垃圾,上面说到MFC是微软对API函数的专用C++封装,这种结合一方面让用户使用微软的专业C++SDK来进行Win下应用程序的开发变得容易,因为MFC是对API的封装,微软做了大量的工作,隐藏了好多程序开发人员在Win下用C++&
MFC编制软件时的大量内节,如应用程序实现消息的处理,设备环境绘图,这种结合是以方便为目的的,必定要付出一定代价(这是微软的一向作风),因此就造成了MFC对类封装中的一定程度的的冗余和迂回,但这是可以接受的..
最后要明白MFC不只是一个功能单纯的界面开发系统,它提供的类绝大部分用来进行界面开发,关联一个窗口的动作,但它提供的类中有好多类不与一个窗口关联,即类的作用不是一个界面类,不实现对一个窗口对象的控制(如创建,销毁),而是一些在WinDOS(用MFC编写的程序绝大部分都在WinDOS中运行)中实现内部处理的类,如数据库的管理类等,学习中最应花费时间的是消息和设备环境,对C++和MFC的学习中最难的部分是指针,C++面向对像程序设计的其它部分,如数据类型,流程控制都不难,建议学习数据结构C++版。
MFC是微软封装了的API。
什么意思呢?
windows作为一个提供功能强大的应用程序接口编程的操作系统,的确方便了许多程序员,传统的win32开发(直接使用windows的接口函数API)对于程序员来说非常的困难,因为,API函数实在太多了,而且名称很乱,从零构架一个窗口动辄就是上百行的代码。
MFC是面向对象程序设计与Applicationframework的完美结合,他将传统的API进行了分类封装,并且为你创建了程序的一般框架,
MFC是对WindowsAPI的封装,大大简化了我们的工作;
学VC主要就是要学MFC,大约有100多个类,但常用的也就二三十个。
应该象背4级单词一样将这些常用类搞懂;
当然不要死记,要通过看帮助、看例子、动手练习来学会它们;
而且,并非每个类的内部的所有函数都要学会,要日积月累。
如果真的想成为高手,做个笔记本把自己认为重要的类、函数记下来,随时学习,也是很好的突击方法。
重要的MFC:
CWnd:
窗口,它是大多数“看得见的东西”的父类(Windows里几乎所有看得见的东西都是一个窗口,大窗口里有许多小窗口),比如视图CView、框架窗口CFrameWnd、工具条CToolBar、对话框CDialog、按钮CButton,etc;
一个例外是菜单(CMenu)不是从窗口派生的。
该类很大,一开始也不必学,知道就行了。
CDocument文档,负责内存数据与磁盘的交互。
最重要的是OnOpenDocument(读入),OnSaveDocument(写盘),Serialize(读写)
CView视图,负责内存数据与用户的交互。
包括数据的显示、用户操作的响应(如菜单的选取、鼠标的响应)。
最重要的是OnDraw(重画窗口),通常用CWnd:
:
Invalidate()来启动它。
另外,它通过消息映射表处理菜单、工具条、快捷键和其他用户消息。
你自己的许多功能都要加在里面,你打交道最多的就是它。
CDC设备文本。
无论是显示器还是打印机,都是画图给用户看。
这图就抽象为CDC。
CDC与其他GDI(图形设备接口)一起,完成文字和图形、图像的显示工作。
把CDC想象成一张纸,每个窗口都有一个CDC相联系,负责画窗口。
CDC有个常用子类CClientDC(窗口客户区),画图通常通过CClientDC完成。
CDialog对话框:
CWinApp应用程序类。
似于C中的main函数,是程序执行的入口和管理者,负责程序建立、消灭,主窗口和文档模板的建立。
最常用函数InitInstance():
初始化。
CGdiObject及子类,用于向设备文本画图。
它们都需要在使用前选进DC。
CPen笔,画线
CBrush刷子,填充
CFont字体,控制文字输出的字体
CBitmap位图
CPalette调色板
CRgn区域,指定一块区域可以用于做特殊处理。
CFile文件。
最重要的不外是Open(打开),Read(读入),Write(写)
CString字符串。
封装了C中的字符数组,非常实用。
CPoint点,就是(x,y)对
CRect矩形,就是(left,top,right,bottom)
CSize大小,就是(cx,cy)对(宽、高)MFC是在1992年的Microsoft16位版的C/C++编译器的7.0版本中作为一个扩展轻量级的WindowsAPI面向对象的C++封装库而引入的。
此时,C++因为它在和API方面的卓越表现,刚刚开始被用来取代C应用于开发商用软件。
因此,他们推出了替代早期的老式的字符界面的集成开发环境(IDE)的PWB。
有趣的是,MFC使用“Afx”作为所有的全局函数的前缀,“afx”作为全局变量的前缀。
因为在MFC的早期开发阶段它叫“ApplicationFrameworkExtensions”缩写为“AFX”。
AFX提供了对WindowsAPI的高度抽象,建立了全新的面向对象的AFXAPI,但它对于新手来说太复杂了,所以AFX小组不得不重新开始。
后来他们创建了一组C++类,这就是MFC。
MFC这个名字被采用得太晚了以至于没来得及修改这些引用。
最近,MFC8.0和VisualStudio2005一起发布了;
MFC9.0和VisualStudio2008一起发布。
在免费的Express版本的VisualStudio2005/2008中没有包含MFC。
作为一个强有力的竞争对手,为Borland的TurboC++编译器设计OWL(ObjectWindowsLibrary)在同一时间也发布了。
但最后,Borland停止了对OWL的继续开发并且不久就从Microsoft那里购买了MFC头文件,动态链接库等的授权,微软没有提供完整的MFC的集成支持。
之后Borland发布了VCL(VisualComponentLibrary)来替换OWL框架。
3.1.3socket网络编程
套接口有三种类型:
流式套接口,数据报套接口及原始套接口.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络视频聊天软件系统的设计与实现 计算机 毕业设计论文 网络 视频 聊天 软件 系统 设计 实现 毕业设计 论文