(计算机应用技术专业论文)基于网络的数字监控系统的设计.pdf_第1页
(计算机应用技术专业论文)基于网络的数字监控系统的设计.pdf_第2页
(计算机应用技术专业论文)基于网络的数字监控系统的设计.pdf_第3页
(计算机应用技术专业论文)基于网络的数字监控系统的设计.pdf_第4页
(计算机应用技术专业论文)基于网络的数字监控系统的设计.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机应用技术专业论文)基于网络的数字监控系统的设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 f 随着社会的进步,人们在满足日常生活需要的前提下,对安全 防范提出了更高的要求,传统的电视监控系统己不能满足人们的 需求。随着计算机技术的飞速发展,在上个世纪末,出现了多媒 体数字监控系统。它大大增强了原有的功能,并增加了一些新的 功能。而且通过计算机网络,还可以实施远程监控。目前,数字 监控系统正在逐步取代传统的c c t v 电视监控系统。少 本文详细分析了数字监控系统的国内外现状和发展趋势,以及 现有产品中存在的一些缺点和不足。在此基础上,详细论述了基 于网络的数字监控系统的设计。它采用客户服务器模式,分为客 户端软件的和服务器端软件两部分。 本文共包括六章。第一章是髓控系统概述;第二章是开发平台 和相关协议;第三章是系统硬件结构;第四章是服务器软件的设 计与实现;第五章是客户端软件的设计,这是本文的重点。第六 章是系统测试及运行。最后是结束语,指出了一些本系统还需要 增强和改进的地方。 关键词:监控系统,多媒体y 网络,实时传输 a b s t r a e t w i t ht h ea d v a n c eo fs o c i e t y ,p e o p l ep r o p o s e dh i g h e rd e m a n dt ot h e s u p e r v i s o r ys y s t e m a tt h ee n do ft h el a s tc e n t u r y ,t h ed i g i t a ls u p e r v i s o r y s y s t e me m e r g e dw i t ht h er a p i d l yd e v e l o p m e n to ft h ec o m p u t e rt e c h n o l o g y i t e n h a n c e dt h et r a d i t i o n a lf u n c t i o n sa n da d d e ds o m en e wf u n c t i o n s i na d d i t i o n i tc a nc o n t r o lt h es u p e r v i s o r ys y s t e mi nd i s t a n c et h r o u g hc o m p u t e rn e t w o r k n o w ,t h ed i g i t a ls u p e r v i s o r ys y s t e mi su s e dm o r ea n dm o r e a tf i r s t ,t h ea u t h o ra n a l y s e st h ep r e s e n ta n dt h ef u t u r eo ft h ed i g i t a l s u p e r v i s o r ys y s t e m ,t h e np o i n t s o u ts o m e s h o r t c o m i n g s o ft h e d i g i t a l s u p e r v i s o r yp r o d u c t s t h a th a v eb e e nu s e d a t l a s t ,t h ed e s i g n a t i o no ft h e n e t w o r k - b a s e dd i g i t a ls u p e r v i s o r ys y s t e mi sd e s c r i b e d t h es y s t e mi sd e s i g n e d w i t hc sm o d e l s oi tc o n t a i n st w op a r t s ,t h ec l i e n ta n dt h es e r v e r t h e d e s i g n a t i o na b o u tt h ec l i e n t s o f t w a r ea n dt h en e t w o r km o d u l eo ft h es e r v e r s o f t w a r ea r em a i n l yd i s c u s s e di nt h i sd i s s e r t a t i o n t h e r ea r ef i v e c h a p t e r s i nt h i s p a p e r t h ef i r s tc h a p t e ri s t h eg e n e r a l s i t u a t i o na b o u tt h es u p e r v i s o r ys y s t e m t h es e c o n di sd e v e l o p m e n t a lt o o l sa n d s o m en e t w o r kp r o t o c o l s t h et h i r di st h eh a r d w a r ea r c h i t e c t u r eo ft h ed i g i t a l s u p e r v i s o r ys y s t e m t h ef o r t h i st h ed e s i g n a t i o na b o u tt h es e r v e rs o f t w a r e t h ef i f t hi st h ed e s i g n a t i o na b o u tt h ec l i e n ts o f t w a r e i ti st h ee m p h a s i so ft h i s d i s s e r t a t i o n t h es i x t hi st h et e s ta n du s i n go ft h es u p e r v i s o r ys y s t e m t h el a s t i s c o n c l u d i n gr e m a r k s h e r e ,s o m ed e f e a t so ft h ea u t h o r sd e s i g n a t i o na r e p o i n t e do u t , k e y w o r d s :s u p e r v i s o r ys y s t e m ,m u l t i m e d i a ,n e t w o r k , r e a l t i m e t r a n s p o r t i n g h 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明 确的说明并表示谢意。 签名:蝎壶聋 日期:沙哆年月,。日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:翊连犟导师签名:笤:三蠡 日期:7 彬年月,口日 基于网络的数字监控系统的设计 引言 监控系统在保安系统中如同一双眼睛,在发生特殊情况时,不仅可以 及时报警,还可以记录发生事件的全过程,以便事后追踪。其重要性不言 而喻。传统的监控系统采用的是电视录像技术,因此也叫c c t v 监控系统。 随着摄像器件的固体化、小型化,以及电视技术的飞速发展,使c c t v 监控 系统已被广泛应用在银行、监狱、仓库、宾馆、小区、楼宇等的保安系统 中。 随着社会的进步,人们在满足日常生活需要的前提下,对社会安全防 范提出了更高的要求,传统的c c t v 电视监控系统已不能满足人们的要求。 随着计算机技术的飞速发展,在上个世纪末,出现了多媒体数字监控系统。 它不仅大大增强了原有的功能,而且增加了许多新的功能。 目前,我国已经有数字监控系统产品面市,且以极快的速度在市场上 推广。但是,通过比较后我们发现,现有产品大都缺少网络功能,没有充 分利用计算机网络的优势。在2 l 世纪的今天,计算机网络已经深入到社会 的各个角落,给人们的生活、工作、学习等各方面带来了巨大变化。缺少 网络功能的产品,无疑只能算是过渡产品。基于网络的数字监控系统正是 在这一背景下开发的。 本文下边将详细论述基于网络的数字监控系统的设计。 基于网络的数字监控系统的设计 第一章监控系统概述 监控系统大致经历了三个发展阶段。第一阶段,是模拟阶段。它是在 上世纪5 0 年代,随着电视技术的发展而逐步发展起来的。经历了几十年的 发展,它随着电视技术的成熟而不断完善,在实际生活中得到了广泛的应 用。第二阶段,是模拟、数字混合阶段。在8 0 年代中后期,出现了数字录 像机,它应用于监控系统取代了传统的模拟录像机,使得数据的存储和检 索更加方便。随着计算机得到广泛的应用,它也开始出现在监控系统中。 但是,由于当时计算机的处理能力有限,并且网络、多媒体等相关技术还 不成熟,所以,它在监控系统中只是部分取代了一些模拟部件。因此,该 阶段属于模拟技术向数字技术转变的过渡阶段。第三阶段,是采用纯数字 技术阶段。在上个世纪末,计算机技术得到了充分的发展,在监控领域, 它已具备全面取代模拟技术的能力。采用多媒体计算机进行信号处理的数 字监控系统,使得监控系统发展到一个崭新的阶段。 下边就对c c t v 电视监控系统和数字监控系统分别做一介绍。 1 1 传统监控系统 o c t v 监控系统一般由四部分组成:摄像、控制、传输、显示与记录。 摄像部分包括摄像机或摄像头、防护罩、安装支架和云台等。它负责摄取 现场景物并将其转换为电信号。0 0 i v 监控系统的控制部分主要包括输入、 输出信号的切换和报警处理等。它的作用是负责对突发事件的报警并启动 监控系统( 或2 4 小时监控) ,对视频信号进行分配和切换,以及进行多画 面分割等处理。传输部分包括视频放大器和传输电缆等。它的作用是负责 将视频信号进行放大并经视频电缆安全地传输到控制中心,然后通过解调、 放大处理后,将电信号转换为图像信号,最后送到监视器上显示出来或同 时把信息记录下来。显示部分通常采用多画面、大屏幕投影或电视墙显示 方式。记录设备通常采用的是时滞录像机,以便进行2 4 小时、3 6 小时或 基于网络的数字监控系统的设计 7 2 小时的连续报警录像。 c c t v 监视系统虽然仍在广泛使用,但是它有许多缺陷,己不能满足应 用的需求。首先,它采用的记录设备是录像机,无法进行长时间、无间断 地连续记录,最多几天就要换录像带。如果在换录像带时发生突发事件, 则系统无法记录。录像带体积大,且不宜长期保存。如果时间过长,录像 带宜发霉和粘连,导致无法重放。录像检索困难,速度慢。进行异地检索 时只能把录像带拿过去,无法借助网络快速传输。c c t v 监视系统占地面积 大,一般需要专用的监控室,且价格昂贵,动辄几十万、上百万。c c t v 监 视系统操作复杂,需要专门培训的人员才会操作,且只能在监控室中进行 控制,无法实施远程监控。虽然它也可以通过微波、卫星或加长传输电缆 等方式来扩大传输范围,但它使用的仍然是电视技术,无法根除电视技术 固有的缺陷。 1 2 数字监控系统 随着计算机技术的飞速发展,计算机的处理能力越来越强,应用越来 越广泛。多媒体技术是计算机技术的一个重要分支,它使计算机可以非常 方便地处理语音、图像、动画、视频等多媒体信息。把计算机多媒体技术 引入到应用广泛的监控系统,不仅可以降低成本,而且可以增强监控系统 的安全性,使监控系统使用更加方便,功能更加丰富。在上世纪末,出现 了使用多媒体计算机作为主控设备的数字监控系统。 数字监控系统的摄像部分采用数字摄像头,摄取的信号采用工业控制 机进行信号处理,最后用显示器进行显示,用大容量硬盘来记录信息。数 字监控系统采用数字技术不仅可以完全实现并增强原有的功能,而且增加 了一些传统的c c t v 电视监控系统所无法实现的新功能。它一经出现,便以 其优异的性能展现出了强大的生命力。 总的来说,数字监控系统与传统的c c t v 电视监控系统相比具有如下 优点: 1 处理速度快、画质好:系统采用高精度、高分辨率的音视频捕获 采集卡,使压缩后所产生的录像文件可以高质量地回放,不会出 基于网络的数字监控系统的设计 现停顿、延迟现象。 2 操作简单:使用友好的人机交互界面,只需操作鼠标就能轻松实 现各种操作。 3 存储方便:压缩后所产生的文件可以保存在硬盘或光盘中,通过 计算机网络还可以把资料存储在网络上计算机中。 4 节约成本:最简单的系统仅需在监控中心办公室放置台监控电 脑主机既可。无需专门的监控室,一般办公室就可使用。 5 检索速度快:系统由于采用计算机文件格式存储,因此可以快捷 地查询任何摄像头在任何时间段内产生的文件。通过计算机网络 还可以方便地进行远程播放、检索。 6 传输方便:信号可以借助已有的计算机网络,快捷、方便地在 l a n i n t r a n e t i n t e r n e t 上远距离传输。 7 控制方式多样化:不仅可以在监控主机上进行集中控制,还可以 通过计算机网络远程控制摄像机的状态和监控效果。 综上所述,数字监控系统充分发挥了计算机多媒体技术、网络技术、 人工智能技术、控制技术等的优势,它与c c t v 电视监控系统相比有不可比 拟的优点。因此,它取代传统的c c t v 电视监控系统将是大势所趋。 1 3 国内外动态 使用计算机多媒体技术实现的数字监控系统在国外出现较早,现正在 逐步取代传统的c c t v 电视监控系统,已经成为应用的主流。 在国内,从5 0 年代就开始使用电视监控系统,历经几十年的发展, 目前广泛应用在各行各业。8 0 年代中期以来,国家相继制定了一些有关 c c t v 电视监控系统的行业标准和相应的法律、法规。数字监控系统在本世 纪初才在我国出现,目前市场上已经出现了几家公司的产品,它们所采用 的技术以及所实现的功能基本相似。其特点大致如下: 它们基本上都是在m i c r o s o f tw i n d o w s 9 8 或w i n d o w s 2 0 0 0 操作系统 下,采用c c + + 语言开发的图形用户界面。可实现对云台、摄像头的控制, 可弹出并记录报警信息,具有语音提示、数据备份、数据检索、图像的放 基于网络的数字监控系统的设计 大、缩小等功能。都是采用p i i i6 0 0 以上的工业控制机作为主控机,内置 多块音视频数据采集卡,可实现8 路或1 6 路数据采集与回放。 数字监控系统是近几年才出现的新生事物,目前还没有制定出行业标 准,国内产品大都是参照国外同类产品和我国2 0 世纪8 0 年代制定的一些 关于c c t v 电视监控系统行业标准来设计的。随着科技日新月异地发展,数 字监控系统正朝着网络化、集成化、智能化、信息化等方向飞速发展。 1 4 研究内容及实现目标 从以上分析可以看出,国内现有产品虽然实现并增强了传统监控系统 的功能,但大多存在如下不足之处: 1 系统不支持ip 网络,信息无法在网上传输。 2 系统不支持多用户共享。 3 单机支持的通道数少,最多为16 路。 4 没有远程控制功能。 因此,我们决定开发一套支持lp 网络的数字监控系统。由于数字监 控系统目前还没有行业标准,我们参照国内外同类产品和传统的c c t v 电视 监控系统的功能、特点和不足,接合计算机技术的最新成果,提出了我们 的设计目标。就是在m i c r o s o f tw i n d o w s 2 0 0 0 环境下开发一套数字监控系 统,在完善和优化传统功能的前提下,重点增加一些网络特性,实现自动 监测,多路实时录像,报警录像,集中控制和远程控制,本地和远程查询、 回放,并且在l a n ( 局域网) 和i n t r a n e t ( 企业内部网) 上实现多用户信息共 享等功能。 本系统的特点具体如下: 1 )基于m i c r o s o f tw i n d o w s2 0 0 0 中文版,使用v i s u a lc + + 6 0 可 视化开发工具,采用面向对象的程序设计技术。 2 )采用工控机通过串口和解码器,实现对监控设备的集中控制以 及系统故障报警的功能。同时,采用硬件加密狗,有效地保护 软件的知识产权。 3 )实现多路控制的功能,一台工控计算机可以控制2 5 路监控目标。 基于网络的数字监控系统的设计 4 )实现多路显示的功能,可以同时显示2 5 路画面的监控信息,通 过点击鼠标等简单操作,能实现单路或多路显示的切换。 5 )实现视频移动检测联动录像的功能,当系统检测到每个检测区 域内的图像亮度变化时,会联动主机录像工作。 6 )实现实时报警的功能,当红外探头检测到视频移动变化或设备 出现故障时,通过报警器报警。 7 )实现图像的实时处理,包括冻结、存储和重放等功能。 8 )通过解码器实现对云台的各种转动和摄像头姿态调整等控制。 9 )完善信息处理功能,包括信息的压缩、存储,按日期、时间的 查询、回放,录像的快进、快放、暂停、停止、浏览、打印等。 1 0 ) 实现自动循环存储功能,当系统中存满数据时,新的数据会自 动覆盖最早的数据。 11 ) 实现信息网络共享,在l a n 和i n t r a n e t 上实现远程录像回放、 远程下载和实时监控浏览等。 1 2 ) 实现网上多用户共享。 1 3 ) 实现远程控制功能,在客户端通过网络可对监控效果和云台进 行一些简单的控制操作。 6 基于网络的数字监控系统的设计 第二章开发平台和相关协议 多媒体数字监控系统涉及到许多硬件控制、多媒体数据处理和网络传 输等方面的内容,为了保证系统的可靠性、先进性、完整性,并在此前提 下尽可能地降低成本、缩短开发周期,我们进行了大量的前期方案选择和 论证工作。 下边,将对系统中所用到的一些相关技术,以及为什么选用该技术做 一简介。 2 1 系统操作平台 目前,常用操作系统有w i n d o w s 、u n i x 、l i n u x 等。尽管后两种也有 很多优点,但是,w i n d o w s 操作系统在p c 机操作系统市场上占有8 5 以 上的份额。考虑到系统的通用性,我们选择w i n d o w s 操作系统作为系统操 作平台。w i n d o w s 操作系统从w i n d o w s 3 1 、w i n d o w s 9 5 、w i n d o w s 9 8 、 w i n d o w sn t 一直到w n d o w s 2 0 0 0 、w i n d o w sx p ,它一改复杂的命令行操 作方式,为用户提供了友好的图形操作界面,使人们操作电脑的方式发生 了革命性的变化。其中w i n d o w s 2 0 0 0 以其友好的用户界面和良好的安全性、 稳定性,已经成为p c 机用户的首选。此外,w i n d o w s 2 0 0 0 还具备一些本系 统所需的优点:如它采用“即插即用”的标准,使得硬件易于设置和使用; 支持o l e 规范;支持长文件名;支持多任务,多线程;支持彻底的保护模 式,为3 2 位应用程序实现了完全的内存保护,不受这些程序的破坏,从而 使系统更加稳定可靠。 w in d o w s 2 0 0 0 诸多的优点促使我们选择基于w i n d o w s 2 0 0 0 来开发多媒 体数字监控系统软件。 2 2 开发工具 w i n d o w s 下的常用的软件开发工具很多,其中比较优秀的有m i c r o s o f t 公司的n e t 平台开发工具和v i s u a lb a s i c ( v b ) 、v i s u a lc + + ( v c ) 、v i s u a l 基于网络的数字监控系统的设计 f o x p r o 等,s u n 公司的j a v a ,s y b a s e 公司的p o w e r b u i i d e r 以及b o r l a n d 公司的d e l p h i 及c + + b u i i d e r 等。这些软件开发工具各有特点:其中 p o w e r b u i l d e r 、d e p h i 及v i s u a lf o x p r o 适合数据库系统的开发;v b 既可 以用作数据库系统的开发,也可用作一般应用软件的开发;而v c 和 c b u i i d e r 也可用作数据库系统的开发,但相对来说较为困难,它们更适合 于针对低层硬件的软件开发;j a v a 相对来说更适合于开发网络程序。n e t 平台为多种语言提供了一个统一的开发框架,用各种语言开发的软件都能 在这个平台上运行,它的目标是一次开发,到处能用。m i c r o s o f t 为n e t 平台提供了c # 、v c + + n e t 、v b n e t 等开发工具。其中v c + + n e t 、v b n e t 分别是v c 和v b 的增强版本,但v b n e t 相对v b 来说变化更大一些。而c # 是针对n e t 平台专门开发出来的一种编程语言。它既具有v c 的强大功 能,也具有j a v a 的简洁性,还具有v b 的易用性,可以说它是集多种开发 工具的优点于一身,是一种很有发展前途的开发工具。 v c 是目前使用极为广泛的一种基于w i n d o w s 平台的可视化编程环境, 它支持多线程、o l e 、c o m 和公用控件,利用d a o 、o d b c 技术,它也可以方 便地实现对数据库的操作,且对i n t e r n e t 网络具有强有力的支持。尽管它 缺少c # 所具有的众多优点,但是,考虑到本系统的特点以及其它一些因 素,我们选用m i c r o s o f t 公司的v i s u a lc 十+ 6 0 作为软件开发工具。 2 3w i n s o c k 编程机制 s o c k e t 是一种基于t c p i p 的网络编程接口,它采用客户服务器通信 模式,客户端和服务器端通过s o c k e t 接口在网络上实现连接和数据交换。 它提供了一系列系统调用,使用户可以方便地使用t c p 和u d p 等网络协议 实现通信。 s o c k e t 最先是集成在u n i x 系统中的,随着w i n d o w s 操作系统的广泛 使用,就制定了一套w i n d o w s 下的t c p i p 网络编程接口标准,这就是 w i n s o c k 。它给应用程序开发者提供了一套简单的a p i 函数,通过调用这些 a p i 函数,程序员就能充分地利用w i n d o w s 消息驱动机制进行网络编程。 目前,w i n s o e k 已被集成到w i n d o w s 9 5 、w i n d o w s 9 8 、w i n d o w s 2 0 0 0 、w i n d o w s 8 基于网络的数字监控系统的设计 n t 、w i n d o w sx p 中,它已成为w i n d o w s 操作系统下网络编程的标准。w i n d o w s 下的i n t e r n e t 软件大都是基于w i n s o c k 开发的。 w i n s o c k 定义并记录了如何使用a p i 函数与t c p i p 连接。应用程序 通过调用w i n s o c k 的a p i 函数实现相互之间的通信,w i n s o c k 又利用下层 的网络通信协议和操作系统调用实现实际的通信工作。应用程序和 w i n s o c k 之间的关系如图2 1 所示。 l 应用程序一卜叫应用程序二 千千 + l网络编程界面,t g l 女dw i n s 。c k 上t l网络通讯协议服务界面例如t c p i p 上t i操作系坑,例如w r m d o w sx 上t i物理传输介质 图2 1 应用程序年d w i n s o c k 的关系圈 w i n s o c k 支持两种编程模式,一种是基于t c p 协议的数据流模式,另 一种是基于u d p 协议的数据报模式。 2 3 1 基于t o p 协议的w i n s o c k 编程 使用t c p 协议实现的通信是面向连接的通信。这种通信方式要求通信 双方在通信前必须先建立连接。类似于电话服务系统,每一次完整的通信 过程都要经过建立连接、使用连接、终止连接三个过程。它具有确认、流 程控制和拥挤控制等机制,可以为用户在不可靠的通信线路上提供可靠的、 端到端的、全双工的、无记录边界的数据流通信服务。当数据在传输过程 中出错或丢失时,发送方就重发出错数据,以保证接收方能够按序接收到 正确数据。 基于网络的数字监控系统的设计 w i n s o c k 基于t c p 协议的编程步骤如图2 2 所示。 服务器端程序客户端程序 c r e a t e ( ) 创建一个套接c r e a t e ( ) 创建一个套接 上 b i n d ( ) 绑定到一个端口 上 l i s t e n ( ) 在该端口监听 上 a c c e p t ( ) 等待接受一个连接 0 r 口i + 2 1 i j 垂f 寺待 立连接立连接 c o r m e c t0 向服务器一个 l 1 端口发出连接请求 m e 耋m mj rtt r e c e i ,。0 接受数据 数据l s 。d o 发送数据 或s e n d o 发送数据l 传输l 或r e c e i v e ! 接受数据 l o s e ( ) 关闭套按字并断开连接 c l o s e ( ) 关丽套接字并断开连接 m 2 2 t c p 客户与t c p 服务器进行连接的步骤 在v c 6 的m f c ( m i c r o s o f t 基础类库) 中提供了支持w i n s o c k 编程的 类,主要有c a s y n c s o c k e t 和c s o c k e t 类。c a s y n c s o c k e t 类封装了w i n d o w s s o c k e ta p i 函数,和c s o c k e t 类相比,它既有类库编程的方便性,又有 s o c k e ta p i 函数编程的灵活性。而c s o c k e t 类是c a s y n c s o c k e t 类的继承 类,它相对来说具有较高的抽象性。 在用流套接字进行网络编程时,服务器进程首先调用c a s y n c s o c k e t 类的成员函数c r e a t e0 建立一个套接字,并用b i n d0 把它绑定到一个未使 用的端口上,然后调用l i s t e n ( ) 函数在该端口监听连接请求。当没有连接 请求时,服务器进程处于休眠状态。客户进程创建一个套接字并把它绑定 到一个未使用的端口上后,就可以调用c o n n e c t0 函数向服务器进程发出 连接请求。当服务器进程监听到有客户端进程套接字向该端口发出连接请 1 0 基于网络的数字监控系统的设计 求时,服务器进程就被唤醒,生成一个新的字节流套接字,并用新套接字 调用a c c e p t0 函数同客户进程的套接字建立连接,而服务进程最早生成的 那个套接字则继续用于监听网络上的其它连接请求。连接建立成功后,双 方就可以调用s e n d 0 或r e c e i v e 0 函数进行全双工的数据传输。通信结束 后,通信双方分别调用c l o s e0 函数撤消套接字并断开连接。这样就完成 了一次数据通信。 2 3 2 基于u d p 协议的w i n s o c k 编程 使用u d p 协议实现的通信是面向无连接的通信。这种通信方式也叫数 据报通信方式。在通信前,双方无需建立连接,可直接收发数据。发送的 每个分组都携带有完整的目的地址,各分组在网络中都独立传送。发送方 不管对方是否收到或正确接收,只要有数据就发送,而接收方仅负责接收 数据,不管数据正确与否,且不向发送方发送应答信息。因此,在接收方 不能保证收到分组的正确性和到达的先后顺序,分组在传输途中可能丢失 或出错,而后发的分组也可能先到达。由于该通信方式取消了端到端的确 认和重传机制,因此,在通信线路质量有保证的情况下,能够达到较高的 通信速率。 w i n s o c k 基于u d p 协议的编程模型如图2 3 所示。 程序一程序二 c r e a t e ( ) 创建一个套接字lic r e a t e ( ) 创建一个套接字 b i n d ( ) 绑定到一个端口 r e c e i v e f r o m ( ) 接收数 据( 或s e n d 0 0 发送) c l o s e0 关闭毒接字 b :n d o 绑定到一个端口 s e n d t o ( ) 发送( 或 r e c e l v v f r o m ( ) 接收) 数据 c l o s e 0 关f i j 套接字 图2 3 数据报套接字应用程序时序图 在通信开始前,通信双方首先都调用c r e a t e0 函数建立一个套接字并 基于网络的数字监控系统的设计 用b i n d ( ) 函数把它绑定到一个未使用的端口上,然后双方通过调用 s e n d t 0 0 或r e c e i v e f r o m ( ) 函数就可以实现全双工的数据通信。通信结束 后,双方可以调用c l o s e 0 函数关闭套接字。这就实现了一次完整的通信。 在通信过程中双方处于对等地位,都可以同时作为服务器进程和客户进程。 2 4 处理阻塞问题的研究 w i n s o c k 程序在缺省状态下调用一个网络i o 函数常常会引起阻塞操 作。例如:c o n n e c t0 函数启动一个和远地主机的连接,它将一直处于阻塞 状态,直到传输层建立好连接并通知w i n s o c k 连接可用为止。同样,当程 序调用r e c e i v e 0 函数时,接收缓冲区中没有数据,r e c e i v e 0 函数将阻塞 程序的进一步执行,直到有数据到达s o c k e t 的协议端口为止。在这种情况 下,阻塞操作将阻止程序给远地主机发送其它报文,远地主机也很可能在 收到你的另一个报文以前不会应答。这样,调用r e c e i v e0 函数将挂起你 的程序( 程序等待接收从远程主机发来的数据,而远程主机等待接收程序发 送的报文) 。引起阻塞操作的进程内的所有其它活动都将停止。 通常情况下,我们希望应用程序在等待数据时能继续做其它事情。为 了有效的处理阻塞问题,w i n s o c k 提供了一种适合w i n d o w s 编程的方法, 利用w s a a s y n c s e l e c t ( ) 函数,允许我们在等待特定的事件发生时,指定一 个送往应用程序的w i n d o w s 消息。w s a a s y n c s e l e c t ( ) 函数原型如下: i n tw s 从s y n c s e l e c t ( s o c k e ts ,h w n d h w n d ,u n s i g n e di n tw m s g , l o n gi e v e n t ) : 参数s 标识一个需要事件通知的套接口的描述符,这个函数在调用中 被自动设成非阻塞方式;h w n d 是接收w i n s o c k 消息的窗口句柄,而这个消 息是由参数w m s g 指定的,通常w m s g 指定一个用户定义的消息;1 e v e n t 是 被指定的网络中的事件,如f d - r e a d 表示数据正等待被读入,f d - a c c e p t 表示有连接请求到达。当被指定的事件发生时,程序将收到消息,消息的 m s g 结构体中m e s s a g e 项就是被规定的消息名称w m s g ,1 p a r a m 项中的内容 就是网络事件名称。如果开启了很多s o c k e t s ,而要让每个s o c k e t 都变成 异步模式的话,那么就必须对每一个s o c k e t 都调用w s 从s y n c s e l e c t ( ) 来 基于网络的数字监控系统的设计 一一设定。 2 5f t p 文件传输协议 f t p 就是文件传输控制协议,它是t c p i p 网络及i n t e r n e t 上最简单的 协议之一。采用该协议可将一个完整的文件从一台计算机上方便地传输到 网络中的另一台计算机上。它的一项突出优点就是平台无关性,无论是p c 机、服务器、大型机,还是d o s 平台、w i n d o w s 平台、u n i x 平台,只要双 方都支持f t p 服务,支持t c p i p 协议,就可以方便地进行文件传输。f t p 不仅提供文件下载服务,而且还提供文件上传服务。在服务器端许可的前 提下,可以非常方便地将文件从客户端发送给远程服务器端。目前,f t p 服务已广泛应用于各种提供软件上、下载服务的场所。 f t p 服务采用的是客户n 务器模式,客户和服务器之间的连接使用t c p 协议实现的数据流方式。为建立会话,f t p 服务使用了两个t c p 连接,一 个是控制连接,一个是数据连接。它们在服务器端分别使用2 l 和2 0 两个 端口,其中端口2 l 用来发送和接收f t p 的控制信息,一旦建立f t p 会话, 端口2 l 的连接在整个会话期间始终保持打开状态。端口2 0 用来发送和接 收f t p 数据,只有在传输数据时才打开,一旦传输结束就断开。f t p 客户 与服务器之间的连接如图2 4 所示。 图2 4f t p 客户与服务器的连接图 f t p 工作的过程是一个建立f t p 会话并传输文件的过程,其步骤如下: 1 f t p 服务器程序在2 1 号端口监听。 基于网络的数字监控系统的设计 2 f t p 客户端应用程序向远程的f t p 服务器程序申请建立连接。 3 f t p 服务器程序在2 1 号端口监听到f t p 客户端的请求之后,做 出响应。 4 客户端程序收到响应后打开一个控制端口,并和f t p 服务器的 2 l 号端口建立连接。 5 当需要传输数据时,客户端打开一个数据端口,连接到f t p 服务 器的2 0 号端口并开始进行数据传输:当文件传输完毕后断开连 接,释放端口。 6 要传输新的文件时,客户端会再打开一个新的数据端口,并连接 到f t p 服务器的2 0 号端口开始传输新的数据。 7 在会话过程中,可由客户或f t p 服务器强行断开连接。 v c 提供了两种编写f t p 程序的方法:一种是直接调用w i n l n e t ( w i n 3 2 i n t e r n e tf u n c t i o n ) a p i 函数;另一种是调用m f cw i n l n e t 类进行编程。 直接调用w i n i n e ta p i 函数可以实现强大的功能,也能赋予程序员更大的 灵活性。但是,在编程时需要编写控制连接和数据连接,需要考虑f t p 协 议实现的各种细节问题,这将使编写f t p 程序成为一个复杂的庞大工程。 而m f cw i n l n e t 类是一种更高层次上的编程方法,使用它可以不必考虑协 议实现的些细节问题,不仅可以实现很不错的功能,还能充分利用m f c 类库的支持,大大减轻编程的工作量,提高开发效率。 v c 为f t p 编程提供了c i n t e r n e t s e s s i o n 、c f t p c o n n e c t i o n 和 c f t p f i l e f i n d 等几个类,来实现f t p 的连接,文件、目录的检索和文件的 上、下载等各种操作。其编程过程如下: 1 创建一个c i n t e r n e t s e s s i o n 类对象来开始一个f t p 会话。 2 调用c i n t e r n e t s e s s i o n :g e t f t p c o n n e c t i o n ( ) 来实现与f t p 服务 器的连接,并把它的返回指针指向c f t p c o n n e c t i o n 类的一个对象。 3 调用c f t p c o n n e c t i o n 和c f t p f i l e f i n d 类的成员函数来实现对f t p 目录或文件的检索、上、下载等各种操作。c f t p c o n n e c t i o n 类提供的成员 函数有s e t c u r r e n t d i r e c t o r y ,实现设置当前目录;g e t c u r r e n t d i r e c t o r y , 实现下载当前目录列表;r e m o v e d i r e c t o r y ,实现删除目录操作; c r e a t e d i r e c t o r y ,实现创建个新目录操作;r e m o v e ,来删除一个文件, 1 4 基于网络的数字监控系统的设计 p u t f i l e ,来上载一个文件;g e t f i l e ,实现下载一个文件。c f t p f i l e f i n d 类提供的成员函数主要有f i n d f i l e ,在f t p 服务器上查找一个文件; f i n d n e x t f il e ,来查找f i n d f il e 查到的下一个文件,循环使用该函数可列 出整个目录下的所有文件。 4 当文件传输完毕后,调用它们的c l o s e 0 成员函数断开连接,结束 会话。 2 6 多点播送协议 “多点播送”也称为“多播”( m u l t i c a s t i n g ) 或“组播”,是一种把 一个结点发出的数据,同时发送给网络中多个特定结点的技术。它与“广 播”( b r o a d c a s t i n g ) 是相对应的,广播是把一个结点发出的数据,同时发 送给网络中所有结点。在网络中,过度使用广播技术,极易产生“广播风 暴”,从而造成网络带宽的大幅占用,影响整个网络的通讯效率,多播正好 弥* b t 广播的不足。对一个网络内的各工作站而言,只有当其运行的进程 表示“有兴趣”并加入组播地址组后,多播数据才会发送给他们,并且该 进程可以随时加入或撤出多播通讯过程。 在t c p i p 协议中多播通信具有控制层面和数据层面两个层面的重要 特征。其中控制层面定义了组成员的组织方式,而数据层面决定了在不同 的成员之间数据如何传送。这两方面的特征既可以是“有根的”,也可以是 “无根的”。在一个“有根的”控制层面内,存在一个日q 根节点的特殊多播 组成员,而剩下的多播组成员叫叶节点。大多数情况下,根节点负责多播 组的建立,其间涉及到建立与任意数量的叶节点的连接。对任何一个多播 组而言,都只能存在一个根节点。对于“无根的”的控制层面来说,它允 许任何节点加入一个多播组,其间不存在任何例外。也就是说,在这种情 况下,所有组成员均为叶节点,每个成员都有权加入一个多播组。i p 多播 在控制层面上采用的便是无根控制层面。在数据层面也存在有根和无根两 种方式。在有根的方式下,根节点发送的数据可以被所有的叶节点收到, 但叶节点发送的数据只有根节点才可以收到。在无根方式下,所有的组成 员都能将数据发送到组内的其它所有的成员。i p 多播在数据层面上采用的 基于网络的数字监控系统的设计 也是无根方式。 多播通信实现了一个发送者到一个或多个接收者的数据传送,并且只 有当接收者加入多播组时,多播数据才会传送给它。因此,采用多播通信 可以大大减轻网络通信的负担,避免网络资源的无谓浪费。 i p 组播通信需要依赖一个特殊的地址组,称为“组播地址”。该地址 实现对一个指定组的命名。假如有五个节点想通过i p 多播实现彼此的通 信,它们可以加入同一个组播地址组。加入后,由一个节点发出的任何数 据均会一模一样地复制一份,发给组内的每个成员,甚至包括发出数据的 那个节点。多播i p 地址是一个d 类i p 地址,范围在2 2 4 0 0 0 到 2 3 9 2 5 5 2 5 5 2 5 5 之间,但其中有一些地址是为特殊用途而保留的,用户 不能使用。如2 2 4 0 0 0 是保留的,不能赋给任何组播组;2 2 4 0 0 i 被 称为“所有主机组( a l l h o s tg r o u p ) ”,被永久性地赋给了全主机群组, 它包括了参与该i p 组播的所有主机和路由器的集合。另外,i p 组播地址 只能作为目的地址使用。 用w i n s o c k 2 编程实现i p 多播通信的一般步骤如下: ( 1 ) w s a s o c k e t0 创建套接字。 该套接字实际上是一个u d p 协议的套接字,它是加入多播组的初始化 套接字,并且以后数据的发送和接收都在该套接字上进行。这也说明i p 多播是附加在u d p 协议之上的,它具有u d p 协议的切特性。 针对 i p 多播通信,其参数d w f l a g s设置为 w s a _ f l a g u l t i p o i n t 一l e a f 、 w s a _ f l a g 删l t i p o n t _ d - l 队f 、 w s a f l a g _ o v e r l a p p e b 的位与,指明i p 多播在控制层面和数据层面只具有 叶节点的行为特征。 ( 2 ) b i n d 0 绑定本地端口。 ( 3 ) w s h j o i n l e a f0 加入一个多播组。 其中参数d w f l a g 可选值分别为:j l - s e n d e r _ o n l y ( 只发送数据) 、 f l _ r e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论