




已阅读5页,还剩70页未读, 继续免费阅读
(电路与系统专业论文)基于+arm和linux的网络视频监控系统设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
独独 创创 性性 声声 明明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 签名:签名: 日期:日期: 年年 月月 日日 关于论文使用授权的说明关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 (保密的学位论文在解密后应遵守此规定) 签名:签名: 导师签名:导师签名: 日期:日期: 年年 月月 日日 摘要 i 摘 要 视频监控系统已被广泛应用于当今社会的各行各业,并且随着网络技术、存 储技术、视频处理技术的不断进步,视频监控系统也已进入了网络视频监控系统 的时代。linux 是开源操作系统,源代码可免费在网络上获取,它以其低成本和高 效性得到越来越多大中型企业和政府的青睐,也有越来越多的资源被用来投入在 linux 的开发上,它引领着未来软件界的发展方向。本课题将嵌入式技术和 linux 操作系统应用于网络视频监控系统中,给出了系统软硬件的设计方案,并在实验 室的环境下实现了视频监控的功能。 作者着重于系统的整体开发,按照从系统硬件到系统底层软件,再到系统功 能软件的层次结构来进行设计开发。 本文着重于论述基于 arm 处理器和 linux 操 作系统的网络视频监控系统实现的关键技术,主要研究和开发工作如下: 1. 研究了视频监控系统的发展历程、研究现状和发展态势。 2. 研究了系统引导加载程序 uboot, 总结了 uboot 的运行流程, 并且实现了 uboot 在系统硬件平台上的移植。 3. 研究了 linux 操作系统内核,进行了部分内核源代码的分析,在系统软件平台 的构建过程中,实现了 linux 内核的移植和编译。 4. 研究了 linux 下相关外围设备驱动程序的开发,包括 led、串口、网卡、usb 摄像头的驱动程序的开发,对 usb 摄像头驱动程序中的 bug 进行了修正,实现了 usb 摄像头驱动的应用。 5. 研究了 linux 内核自有的视频设备驱动 video4linux,设计了视频采集服务器 端程序,在系统软硬件平台搭建好的基础上,最终成功实现了视频监控系统的功 能。 关键词关键词:视频监控,arm,linux,设备驱动程序,video4linux abstract ii abstract video monitoring system has been widely applied in every walk of our life. with the rapid development of the network technology, the storage technology and the video processing technology, video monitoring system has already stepped into the times of network video monitoring system. linux is open source os. its source code can be downloaded free of charge from the network. because of its low cost and high efficiency, linux is getting more and more attention from the government and the large and medium-sized enterprises, and more and more sources will be used in the development of linux. it leads the future developing direction of the software industry. this research project uses the embedded technology and the linux os in the network video monitoring system. the thesis gives the design proposals of the hardware and software platforms of the system. finally, sucessfully realized the video monitoring function of the system. the author puts emphasis on the development of the entire system. according to the hiberarchy of system, the development process is from the hardware to the bottom software, then to the function software. this thesis mainly expatiates the key techniques of the network video monitoring system based on arm and linux. the main research and development work is as follows: 1. studied the developing history, current research situation and the developing direction of the video monitoring system. 2. studied the boot loader program-uboot. analyzed the running procedure of the uboot and successfully ported uboot on the hardware platform of the system. 3. studied the linux kernel, analyzed part of its source code, and successfully ported and compiled it, while building the software platform of the system. 4. studied the development of the devices driver programs in linux system, including the led, the uart, the network card, and the usb camera driver programs. corrected bugs in the usb camera driver program, successfully used the camera in the system. 5. studied the video device driver program video4linux of the linux kernel itself, abstract iii and designed the video collecting server program. finally realized the video monitoring application based on the hardware and software platform of the system. key words: video monitoring, arm, linux, device driver, video4linux 目录 iv 目 录 第一章第一章 绪论绪论 . 1 1.1 课题研究意义 . 1 1.2 课题研究背景 . 1 1.2.1 视频监控系统的发展历程 . 2 1.2.2 视频监控系统的研究现状 . 2 1.2.3 视频监控系统的发展态势 . 3 1.3 课题目标及本论文章节安排 . 4 第二章第二章 系统总体设计方案系统总体设计方案 . 6 2.1 系统功能要求及开发模式 . 6 2.2 系统硬件架构及核心硬件模块的设计 . 7 2.2.1 s3c2410 微处理器 . 7 2.2.2 sdram 存储器接口电路 . 9 2.2.3 flash 存储器接口电路 . 10 2.2.4 串口电平转换电路 . 10 2.2.5 jtag 接口电路 . 11 2.3 系统软件架构设计 . 12 2.4 本章小结 . 13 第三章第三章 系统底层软件开发系统底层软件开发 . 14 3.1 uboot 引导加载程序的移植 . 14 3.1.1 uboot 运行第一阶段分析 . 15 3.1.2 uboot 运行第二阶段分析 . 16 3.1.3 uboot 调试环境的建立 . 18 3.1.4 uboot 的移植 . 18 3.2 linux 内核的移植 . 20 目录 v 3.2.1 linux 内核概述 . 21 3.2.2 linux 内核子系统和源代码目录结构 . 22 3.2.3 linux 内核的启动过程分析 . 24 3.2.4 linux 内核的移植、编译 . 25 3.3 混合式文件系统概述 . 27 3.4 linux 下的系统外围设备驱动程序的研究和开发 . 28 3.4.1 led 驱动的开发 . 29 3.4.2 串口驱动的研究 . 30 3.4.3 网卡驱动的研究 . 34 3.4.4 usb 摄像头驱动的开发 . 37 3.5 本章小结 . 39 第四章第四章 系统功能软件开发系统功能软件开发 . 41 4.1 基于 h.264 编码技术的 t264 库的应用 . 41 4.1.1 h.264 编码技术简介 . 41 4.1.2 t264 库在 linux 下的交叉编译 . 42 4.2 视频采集服务器端程序的设计 . 42 4.2.1 video4linux 及其编程接口概述 . 43 4.2.2 网络编程概述 . 46 4.2.3 视频采集服务器端程序的设计 . 49 4.3 本章小结 . 55 第五章第五章 系统测试及总结系统测试及总结 . 56 5.1 系统底层软件测试 . 56 5.2 系统功能软件测试 . 59 5.3 课题总结 . 61 致致 谢谢 . 63 参考文献参考文献 . 64 作者攻硕期间取得的研究成果作者攻硕期间取得的研究成果 . 66 第一章 绪论 1 第一章 绪论 本章首先介绍本课题的研究意义,然后介绍本课题的研究背景,即视频监控 系统的发展历程、研究现状和发展态势,最后介绍本文的主要内容和章节安排。 1.1 课题研究意义 本课题研究开发的网络视频监控系统是安防系统的重要组成部分,它不仅可 以对监控现场进行不间断的实时监视,还可以通过各种存储介质将监视内容清晰 地记录下来,以备随时查证。它广泛的应用于生活的方方面面,包括企业、家庭、 银行、政府、学校等等。 在企业内建立一套完善的网络监控系统,不仅可以加强安全保卫防范力度, 还有如下几点利处。 1. 提高员工的工作效率:这是企业的根本问题,通过监控手段,领导可以随时监 控所有员工的工作情况,而员工也会无形地努力工作。 2. 提高领导的运作效率及相关部门的监管效率。 3. 提高企业的市场竞争力。 在家庭建立一套完善的网络视频监控系统,即家居监控,也具有重要意义。 家居安防系统主要包括门禁、监控、报警三部分,监控是其非常重要的一部分。 而家居安防系统又是数字家庭的重要组成部分。可见,在科技高度发达的当今社 会,在建立数字家庭的发展大趋势下,研究网络视频监控系统具有非常重要的意 义1。 1.2 课题研究背景 视频监控系统是对人们无法直接监控的场所,提供实时的、真实的被监控对 象的画面,作为即时处理或事后分析的一种手段,集成了预防、监视、控制等功 能,从逻辑上可分为:前端、传输和后端三大部分。 电子科技大学硕士学位论文 2 前端部分一般由摄像机、镜头、防护罩、安全支架、云台、解码器等组成, 主要用于对被监控场所摄像。 传输部分包括视频同轴电缆、光缆、网线或双绞线等组成的有线传输方式以 及由发射机、接收机组成的无线传输方式,用于将前端信号传至后端,并为前端 摄像机和解码器提供电源和控制信号。 后端部分则由视频画面处理器、录像机、矩阵切换主机、控制键盘、监视器 等组成,对前端传送来的视频信号进行分割、处理、记录和控制2,3。 1.2.1 视频监控系统的发展历程 视频监控系统的发展主要经历了模拟监控、数字信号控制的模拟监控及网络 监控三个主要阶段。 九十年代初及以前的视频监控系统称为第一代模拟监控系统,主要是以模拟 设备为主的闭路电视监控系统。系统前端摄像机产生模拟视频信号,通过同轴电 缆传输到监控中心,经过处理,在模拟的屏幕上回放,并在专用的慢速模拟录像 机上记录备份。 九十年代中期,随着计算机处理能力的提高和视频技术的发展,人们利用计 算机的高速数据处理能力进行视频的采集和处理,利用显示器的高分辨率实现图 像的多画面显示。 这种基于 pc 机的多媒体主控台系统称为第二代数字信号控制的 模拟视频监控系统。 九十年代末及以后,随着网络技术、存储技术、视频处理技术的进一步发展, 视频监控系统进入了全数字化的网络时代,称为第三代网络视频监控系统。系统 以网络为依托,以数字视频的压缩、传输、存储和播放为核心,以智能的图像分 析为特色,引发了视频监控行业的技术革命,受到了学术界、产业界和使用部门 的高度重视4,5。 1.2.2 视频监控系统的研究现状 在国内外市场上,视频监控产品主要包括数字信号控制的模拟视频监控和网 络视频监控两类产品。前者技术已经非常成熟、性能稳定,并在实际工程应用中 得到了广泛应用,后者虽然解决了模拟视频监控系统的部分弊端,也比较成熟了, 但仍需进一步完善和发展6,7。 第一章 绪论 3 1. 数字信号控制的模拟视频监控系统 数字信号控制的模拟视频监控系统一般分为两种类型,一种是基于微处理器 的视频切换控制加 pc 机的多媒体管理,另一种是基于 pc 机来实现对矩阵主机的 切换控制及对系统的多媒体管理。 基于微处理器的视频切换控制加 pc 机的多媒体管理, 利用微处理器固件发展 的矩阵切换器,将原来分散的全硬件视频监控系统微型集中化,如将视频切换、 对前端的控制等功能集成在一起,一机处理。 基于 pc 机来实现对矩阵主机的切换控制及对系统的多媒体管理则是采用软 件设计,可实现摄像机到监视器的视频矩阵切换,云台和镜头的控制,通过串口 连接报警设备的报警信息,并通过程序编程自动完成视频切换、云台控制、报警 联动、报警录像等各项控制功能。 2. 网络视频监控系统 世界任何地方的用户都可以通过网络,包括局域网、广域网或拨号网络,在 他们的 pc 上观看到网络视频监控系统的监控图像。 (1) 通过局域网或宽带网实现的网络视频监控系统 系统将前端传输过来的摄像机图像,在数字视频服务器进行数字化和压缩处 理,再将视频流进行网域内的传输,送往指定的监视器。 通过宽带网实现的远程视频监控系统已可实现多种图像压缩格式的兼容、大 流量图像的跨网关传输、网络状况的实时监控、网络带宽的自适应和断线自动续 接、保证图像传输的连续、前端和中心图像的双备份存储等功能。 (2) 通过 ip 网络摄像机或 ip 网关实现的网络视频监控系统 ip 网络摄像机内置数字视频压缩 dsp 芯片及符合网络传输协议的接口芯片, 可以将音视频数据流直接输出到网络。给它指定 ip 地址后,可以在网络上任何一 个位置通过浏览器观看到视频监控图像。 ip 网关实现了低成本的音视频以及报警信号的传输,发射和接收可采用多播 方式在以太网上传输双向音视频。ip 网关通过配置,可以当做编码器或解码器使 用,可以将模拟视频信号传上网络,并直接在电脑上查看图像,还可以将数字视 频信号转换成模拟信号,在普通的监视器上显示图像。 1.2.3 视频监控系统的发展态势 最早的模拟视频监控系统在图像质量、监控范围上具有较大的局限性,市场 电子科技大学硕士学位论文 4 份额有较大程度的萎缩。然而,它易于应用以及突出的价格优势,让它仍然广泛 应用于特定的行业及地区。由于中国整体视频监控市场的庞大需求以及不均衡的 发展进程,如果没有产生在成本上可以完全替代模拟监控的新技术,模拟监控市 场仍将长期存在。 第二代数字信号控制的模拟视频监控系统在图像质量、保存时间以及可靠性 上均有大幅度的提升,具有高性价比,成为主导视频监控市场的视频监控解决方 案,并且成熟地应用在金融、商业等行业中。 这类系统在功能、性能、可靠性、结构方式等方面都发生了很大的变化,视 频监控系统的构成更加方便灵活,与其它技术系统的接口更加趋于规范,人机交 互界面更为友好。但是,由于视频监控系统中信息流仍为模拟的视频信号,系统 的网络结构主要是一种单功能、单向、集中方式的信息采集网络,且介质专用, 所以,虽然系统已发展到很高的水平,改进却受到了很大的限制。 第三代网络视频监控系统虽然已发展比较成熟了,但仍然是未来视频监控系 统的发展方向,也是中国视频监控市场的重要拉动因素。网络监控设备厂商的视 频监控整体解决方案,正得到越来越多用户的了解和认可。在国内大型的视频监 控项目中,更是出现了除后端显示设备之外,全部设备 ip 化的发展趋势。视频监 控系统必将集通信、运算、存储于一身。 未来中国视频监控市场也将进一步商业化,并且将转向家庭化和民用化。应 用领域越来越广,除了金融、政府、交通等特殊行业外,社区、写字楼、工厂和 商场也都已应用或正在实施数字监控。系统规模和辐射区域越来越大,监控周期 越来越长、清晰度要求越来越高等都是未来监控系统的发展方向8,9。 1.3 课题目标及本论文章节安排 本课题的目标是实现网络视频监控系统的基本功能,包括视频采集、视频压 缩、网络传输功能的实现,作者着重于系统整体的开发,包括硬件设计、底层软 件的研究开发及功能软件的开发。 根据系统的视频监控的功能要求,按照以下步骤进行开发: 1. 设计系统总体软硬件框架 2. 基于 s3c2410 微控制器的硬件平台的设计 3. uboot 的研究和移植 第一章 绪论 5 4. linux 内核的研究和移植 5. linux 下系统相关外围设备驱动程序的研究和开发 6. h.264 视频编码库的研究和应用 7. 视频采集服务器端程序的设计 8. 系统集成及测试 本文的章节安排是按照系统开发的步骤来组织的。 第一章 绪论。介绍课题研究意义、课题研究背景、课题目标及本文章节安排。 第二章 系统总体方案设计。从网络视频监控系统的功能出发,分别阐述了系 统硬件的总体设计结构、核心硬件模块的工作原理以及系统软件开发的层次结构。 第三章 系统底层软件的开发。基于系统软件开发的层次结构,第三章介绍系 统底层软件的开发工作, 这部分是作者开发工作的重点, 包括 uboot 的移植、 linux 内核的移植、系统相关外围设备的驱动的研究和开发。 第四章 系统功能软件的开发。基于系统软件开发的层次结构,第四章介绍系 统上层软件 (功能软件) 的开发工作, 这部分也是作者开发工作的重点, 包括 linux 下的 h.264 编码库的交叉编译及视频采集服务器端程序的设计。 第五章 系统测试及总结。第五章介绍将系统集成后,对系统各功能模块的测 试方法及测试结果,并对本课题的研究过程(即系统开发过程)中的收获及遇到 的困难做个总结。 电子科技大学硕士学位论文 6 第二章 系统总体设计方案 2.1 系统功能要求及开发模式 一、系统功能要求 本网络视频监控系统以嵌入式 mcus3c2410 为控制核心,通过视频输入 设备,获取视频数据流,在此采用 usb 摄像头为视频输入设备,然后 mcu 通过 已移植到单板的 h.264 视频编码库,对采集到的视频数据流进行压缩编码,并将 压缩后的视频数据存储在单板的存储器中,再通过网络将压缩后的视频数据传输 到 pc 机客户端,最终监控软件将其解码并显示出来,如图 2-1 所示。 视频输入设备 嵌入式mcu 存储器 网络接口 芯片 pc机客 户端 图 2-1 系统功能说明图 二、系统开发模式 本系统的开发可以划分为硬件开发和软件开发,可软硬件协同开发,如图 2-2 所示。作者的主要工作是软件开发,同时对硬件的设计开发也做了一定研究。 系统功能描述 软硬件划分 硬件开发软件开发 系统集成 图 2-2 嵌入式系统的软硬件协同开发模式 第二章 系统总体设计方案 7 2.2 系统硬件架构及核心硬件模块的设计 系统硬件架构如图 2-3 所示,主要包括以下几部分: 1. 微控制器:选用三星公司的 s3c2410,主频 200mhz,最高 266mhz 2. 内存:64m sdram,32bit 数据总线 3. flash:2m nor flash,64m nand flash 4. 接口:一个 10m 以太网口, 一个串口,一个 usb host 接口,一个 usb slave 接口, 一个标准 jtag 接口(主要用来下载 uboot) 微控制器 s3c2410 总 线 接 口 扩 展 2m nor/ 64m nand flash usb host usb slave 串口 usb摄像头 cs8900 10m网口64m sdram jtag调试接口 led键盘 复位 电路 数据总线 地址总线 控制线 图 2-3 系统硬件架构 2.2.1 s3c2410 微处理器 s3c2410 是三星公司设计的基于 arm920t 处理器核的微控制器。 它拥有独立 的 16kb 指令 cache、6kb 数据 cache、mmu、支持 tft 的 lcd 控制器、nand 闪存控制器、3 路 uart、4 路 dma、4 路带 pwm 的 timer 、117 个通用 i/o 口、 rtc、8 路 10 位 adc、touch screen 接口、i2c-bus 接口、i2s-bus 接口、2 个 usb 主机、1 个 usb 设备、sd 主机、mmc 接口和 2 路 spi,框架如图 2-4 所示。 它同时支持大小端模式。存储器地址空间分为八个 bank,每个 bank 为 128mb,可编程为 8、16、32 位数据总线。bank0 到 bank6 为固定起始地址, bank7可编程起始地址和大小。 前六个bank可用于rom、 sram, 后两个bank 可用于rom、 sram和sdram。 芯片支持等待信号以扩展总线周期, 支持sdram 掉电模式下的自刷新, 支持不同类型的 rom 用于启动, 如 nor flash、 nand flash、 电子科技大学硕士学位论文 8 eeprom 等10。 arm9tdmi processor core (internal embedded ice) amba bus i/f a h b b u s a p b b u s instruction mmu data mmu instruction cache data cache external coproc interface write buff cp15 writeback pa tag ram c13 arm920t c13 ipa31:0 id31:0 dd31:0 dva31:0 dpa31:0 wbpa31:0 dv2a31:0 iv2a31:0 jtag lcd cont. lcd dma usb host cont. extmaster nand cont. nand flash boot loader bus cont. arbitor/decoder interrupt cont. power management memory cont. sram/nor/sdram clock generator bridge 在/drivers/net/arm/kconfig 中增加下面三行代码,这样,在编译配置菜单 menu config 的网络设备菜单中就可以找到“cs8900 support”菜单选项。 config arm_cs8900 tristate “cs8900 support” depends on net_ethernet /*设备接口的名称*/ int type; /*设备接口类型*/ int channels; /*支持的无线电或电视频道数目*/ int audios; /*支持的音频设备数目*/ 电子科技大学硕士学位论文 44 int maxwidth; /*最大采集宽度*/ int maxheight; /*最大采集高度*/ int minwidth; /*最小采集宽度*/ int minheight; /*最小采集高度*/ 其中 type 标志的不同组合反映了各种视频设备之间的性能差异。 部分常用标志定义如下: #define vid_type_catture 1 /*可采集信号*/ #define vid_type _overlay 8/*可将图像数据输入帧缓冲区进行显示*/ #define vid_type _clipping 32/*可对图像进行裁剪*/ #define vid_type_frameram 64/*使用帧缓存*/ #define vid_type_scales 128/*可调整图像大小*/ #define vid_type_ monochrome 256/*只可采集灰度图像*/ #define vid_type_subcapture 512/*可采集图像的子区域*/ 2. 帧缓冲参数设置接口 frame buffer 是 linux 进行图像显示所依赖的存储区域,可为系统内存也可以 是显示设备自己的内存。 通常视频采集卡可以直接将捕获的视频数据写入到该缓冲区, 驱动再将 frame buffer 的视频数据显示到输出设备上。 vidiocsfbuf 控制字为直接写 frame buffer 的视频采集设备设定必要参数, 这些参数定义在结构体 video_buffer 中。 struct video_buffer void *base; /*帧缓冲区的基地址*/ int height; /*帧缓冲区的高度*/ int width; /*帧缓冲区的宽度*/ int depth; /*帧缓冲区的深度*/ int bytesperline;/*一行像素所占用的字节数*/ 3. 显示窗口设置接口 驱动将 frame buffer 总的视频数据显示到输出设备之前, 需要知道显示窗口的 位置、大小,以及图像的在窗口中的位置和大小等信息。控制字 vidiocswin 和 第四章 系统功能软件开发 45 vidiocgwin 是用于设置和查询这些信息的。 这些信息用结构体 video_window 来 描述,其定义如下: struct videos_window u32 x,y; /*显示窗口的位置坐标*/ u32 width,height; /*显示窗口的大小*/ u32 chromakey; /*显示色度值*/ u32 flags; /*附加采集标志*/ struct video_clip *clips; /*图像裁剪信息结构*/ int clipcount; /*裁剪的矩形数目*/ 4. 子区域采集设置接口 vidiocgcapture 和 vidiocscapture 用于子区域采集相关信息的查询 和设置。当设备接口类型有 vid_type_subcapture 标志时,表示可以进行子 区城采集。需要查询或设置的信息保存在结构体 video_capture 中,定义如下: struct video_capture u32 x,y; /*子区城在图像中的位 t 坐标*/ u32 width, height; /子区城的宽度和高度*/ u 16 decimation; /*隔行采样的间隔行数*/ u 16 flags; /*子采样标识*/ 5. 图像属性设置接口 vidiocgpict 和 vidiocspict 两个控制字是用于对图像属性的查询和设 置,图像属性被保存在结构体 video_picture 中,video_picture 的定义如下: struct video_picture _u 16 brightness; /*图像亮度*/ _u 16 hue; /*图像色调*/ _u16 colour, /*图像色度*/ _u 16 contrast; /*图像对比度*/ _u 16 whiteness; /*灰度*/ 电子科技大学硕士学位论文 46 _u16 depth;/*图像深度*/ _u16 palette; /*调色板*/ 6. 图像捕捉接口 v4l 提供的图像捕捉方法有两种。 一种是直接使用 read 系统调用。 先使用 open 函数打开一个设备,使用 vidiocspict 控制字设定好图像属性后,再将大小合适 的缓冲区指针和长度传递给 read 函数进行图像的读取。这种方法比较简单直观, 但并不是所有设备都会支持 read 操作的。 另一种捕获图像的方法是首先通过 mmap 接口将一段内存映射为缓冲区。调 用 vidiocmcapture 控制字开始进行图像采集,再调用 vidiocsync 控制字 等待 1 帧图像捕捉完毕,才可以将图像数据读出。在调用 vidiocmcapture 和 vidiocsync 控制字时,还需要向 ioctl 函数传入一个 video_mmap 类型的参数, 来设定采集的图像帧的相关信息。video_mmap 的定义如下: video_mmap unsigned int frame; /*帧序号*/ int height,width; /*图像的高度和宽度*/ unsigned int format; /*图像格式*/ 4.2.2 网络编程概述 网络编程也称为 socket 编程,在这一节将详细介绍网络编程的相关概念。 一、socket 简介 socket 通常也称作套接字,是在网络协议传输层实现的。两个网络进程采用 套接字方式通信时,两个进程扮演的角色不同,它们使用的套接字也不同。主动 请求服务的一方叫客户端 client,它使用客户建立的套接字 socket,通过它主动与 服务端 server 建立连接。服务端等待接收客户服务请求,提供服务,返回结果, 它使用服务端套接字 serversocket。 应用程序都是通过套接字向网络发出请求或者应答网络请求的。 系统调用 socket()函数,返回一个整型的 socket 描述符,随后的连接建立、图 像数据传输等操作都是通过该 socket 函数实现的。 它是进程间通信的抽象连接点, 第四章 系统功能软件开发 47 封装了主机地址、端口号、传输协议三部分,可以简单的认为 socket 是如图 4-2 所示的模型。 ip地址端口号传输协议 图 4-2 socket 模型 socket 有以下两种类型: 1. 数据流式 socket:是一种基于连接的服务,能保证数据传输的可靠性和无差错 性,使用 tcp 协议进行传输。 2. 数据报式 socket:是一种无连接的服务,数据通过相互独立的报文进行传输, 并不保证数据传输可靠、无差错,使用 udp 协议进行传输。 对于本系统,由于传输距离短、又是视频数据传输,即使丢失几帧图像数据, 对系统功能的影响也不大,所以视频采集服务器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖北襄阳市中医医院(襄阳市中医药研究所)招聘急需专业技术人才55人模拟试卷附答案详解
- 2025江苏南通市崇川区卫生系统面向毕业生招聘备案制高层次卫生人才15人考前自测高频考点模拟试题及答案详解(新)
- 2025合肥市口腔医院招聘工作人员81人模拟试卷及一套参考答案详解
- 百合的种植技术
- 2025年绍兴市上虞区中医医院医共体公开招聘编外人员46人考前自测高频考点模拟试题及答案详解(各地真题)
- 2025湖南省永州市双牌县引进急需紧缺人才(医卫岗25人)考前自测高频考点模拟试题及答案详解(名校卷)
- 2025广东云浮市罗定市市场监督管理局招用青年见习人员2人考前自测高频考点模拟试题(含答案详解)
- 2025年中国户外面罩行业市场分析及投资价值评估前景预测报告
- 2025春季内蒙古包头市九原区机关事业单位引进高层次和紧缺急需人才27人考前自测高频考点模拟试题及答案详解(历年真题)
- 2025年甘肃陇南事业单位预计将于5月中旬发布考前自测高频考点模拟试题及参考答案详解一套
- 2024年甘肃省临夏县人民医院公开招聘护理工作人员试题带答案详解
- 2025年氢气传感器市场分析报告
- 结肠癌围手术期的护理
- 环保科技股东合作协议示范文本
- 中职语文(拓展模块)中国科学技术史序言
- 子宫肌瘤教学查房
- 云南省昆明市2023-2024学年高一下学期7月期末质量检测英语试卷(含答案)
- DB2303T 021-2024柞蚕脓病防治技术规程
- 煤矿事故汇报程序
- 成人术后疼痛管理
- 师范生实习安全教育
评论
0/150
提交评论