虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

socket<b>JS</b>

  • Quectel Wireless Solutions BC20-TE-B 原理图 V1.2

    BC20-TE-B NB-Iot 评估板评估板原厂原理图V1.2。完整对应实物装置。

    标签: BC20 NB-Iot Quectel

    上传时间: 2022-06-17

    上传用户:

  • ASR M08-B资料

    ASR M08-B设置软件 V3.2  arduino 2560+ASRM08-B测试程序  arduino UNO+ASRM08-B测试程序语音控制台灯电路图及C51源码(不带校验码) 继电器模块设置。   ASR M08-B是一款语音识别模块。首先对模块添加一些关键字,对着该模块说出关键字,串口会返回三位的数,如果是返回特定的三位数字,还会引起ASR M08-B的相关引脚电平的变化。【测试】①打开“ASR M08-B设置软件 V3.2.exe”。②选择“串口号”、“打开串口”、点选“十六进制显示”。③将USB转串口模块连接到语音识别模块上。接线方法如下:语音模块TXD --> USB模块RXD语音模块RXD --> USB模块TXD语音模块GND --> USB模块GND语音模块3V3 --> USB模块3V3(此端为3.3V电源供电端。)④将模块的开关拨到“A”端,最好再按一次上面的大按钮(按一次即可,为了确保模块工作在正确的模式)。⑤对着模块说“开灯”、“关灯”模块会返回“0B”、“0A”,表示正常(注意:0B对应返回值010,0B对应返回值010,返回是16进制显示的嘛,设置的时候是10进制设置的)。

    标签: ASR M08-B

    上传时间: 2022-07-06

    上传用户:aben

  • 基于嵌入式的远程图像采集传输系统的研究.rar

    图像的采集和传输是实时监控、远程控制、智能小区等诸多领域的关键技术。基于传统:PC的图像采集已成为现实。随着信息技术的迅速发展,嵌入式系统的研究开发成为了后PC时代的一个热点,它被广泛应用于工业现场、信息家电等各行各业。同时,图像的远程采集传输也朝着专业化、多样化和低成本的方向发展。利用嵌入式技术来实现图像的远程采集传输正顺应了时代发展,有较大的实用价值。 本文主要研究了基于嵌入式的远程图像采集传输系统。嵌入式终端采用$3C2410为核心的目标板为硬件平台,采用嵌入式Linux为系统平台。系统通过连接在嵌入式终端的USB摄像头完成静态图像数据采集,并进行图像压缩处理。在图像传输方面,论文设计了两种模式:一种是通过Intemet传输的、基于B/S模式的传输方式。在该模式下,远端客户机通过浏览器访问架设在终端里的嵌入式服务器而获得图像信息。另一种是基于GPRS网络实现远程无线图像传输。终端将采集到的图像数据通过GPRS网络发送到拥有固定Ip的监控服务器上来完成图像远程传输。 本文首先介绍了图像采集传输和嵌入式方面的相关内容,并介绍了本论文所采用的开发平台。为了顺利开发接着构建了开发环境,这里包括U-boot的移植、Linux系统的内核编译和移植、设备驱动模块的加载以及交叉编译环境的建立。在此基础上,利用Vide04Linux的接口函数,用C语言实现了图像原始数据的采集程序,并利用JPEG算法了实现图像压缩。在基于B/S模式的传输方式中,首先利用Boa架设了嵌入式服务器,然后用C语言完成CGI脚本,该脚本将图像嵌入网页并实时更新以实现网页的动态输出。在基于GPRS实现远程无线图像传输方式中,论文详细分析了系统通讯数据流的特征,提出了采用辨识特征字符、数据打包等策略以实现GPRS的网络连接和数据通讯,并且在此基础上用C语言编程实现。同时,在PC(Linux)上用Socket编程实现了监控服务器软件,该软件用以接收图像数据和控制嵌入式终端的系统状态。最后,论文分析比较了两种传输方式的区别和优缺点。试验证明,采用两种方式都能成功实现图像的远程采集传输,并且试验效果较好。

    标签: 嵌入式 远程图像

    上传时间: 2013-05-17

    上传用户:squershop

  • 基于嵌入式ARM的远程视频监控系统研究

    随着科技的进步,视频监控系统正在向嵌入式、数字化、网络化方向发展。嵌入式视频监控系统充分利用大规模集成电路和网络的科技成果,实现了体积小巧、性能稳定、通讯便利的监控产品。 本文以S3C2410为核心硬件平台开发了基于嵌入式的远程视频监控系统,并对关键技术进行了论述和研究。首先给出了系统总体软硬件设计方案,针对本系统硬件对vivi进行了修改和移植,对编译和移植Linux内核以及制作YAFFS文件系统也做了深入的研究,重点讨论了在嵌入式Linux操作系统下开发USB接口摄像头驱动程序和利用linux提供的Video4Linux API函数实现视频数据采集,其次采用背景差法实现了对视频图像中运动目标的检测,然后通过MJPEG压缩算法实现了视频数据压缩,接着介绍了在Linux下基于TCP/IP协议的socket编程,实现了视频数据的网络发送。最后着重论述了嵌入式Web服务器的设计,编写了视频监控主界面程序,并实现了基于B/S模式的视频监控系统结构。 本系统采用模块化设计方法,使得设计更加简洁、高效,具有良好的扩展性和易用性,有利于系统升级。另外采用嵌入式的方法,系统成本较低,易于推广使用。

    标签: ARM 嵌入式 远程视频监控 系统研究

    上传时间: 2013-04-24

    上传用户:小枫残月

  • LINUX系统分析与高级编程技术

    本书介绍Linux环境下的编程方法,内容包括Linux系统命令、 Shell脚本、编程语言(gawk、Perl)、系统内核、安全体系、X Window等,内容丰富、论述全面,涵盖了Linux系统的方方面面。本书附带光盘包括了RedHat Linux系统的最新版本,及安装方法,还包括本书的大量程序代码,极大地方便了读者,为使用和将要使用Linux系统的技术人员提供了较全面的参考。    目      录前言第一篇   Linux系统介绍第1章   Linux简介 …11.1   Linux 的起源 11.2   自由软件基金会的GNU计划 11.3   Linux 的发音 21.4   Linux 的特点 21.5   基本硬件要求 31.6   如何获得Linux 31.6.1   从网上下载Linux 31.6.2   从光盘获得Linux 31.7   涉及Linux 的Web 网址和新闻讨论组 61.8   Linux 的不足之处 7第2章   外壳及常用命令 82.1   登录和退出 82.2   Linux 系统的外壳 82.3   外壳的常用命令 92.3.1   更改帐号密码 92.3.2   联机帮助 92.3.3   远程登录 92.3.4   文件或目录处理 92.3.5   改变工作目录 102.3.6   复制文件 102.3.7   移动或更改文件、目录名称 102.3.8   建立新目录 102.3.9   删除目录 112.3.10   删除文件 112.3.11   列出当前所在的目录位置 112.3.12   查看文件内容 112.3.13   分页查看文件内容 112.3.14   查看目录所占磁盘容量 112.3.15   文件传输 112.3.16   文件权限的设定 122.3.17   检查自己所属的工作组名称 132.3.18   改变文件或目录工作组所有权 132.3.19   改变文件或目录的最后修改时间 132.3.20   文件的链接 132.3.21   文件中字符串的查寻 142.3.22   查寻文件或命令的路径 142.3.23   比较文件或目录的内容 142.3.24   文件打印输出 142.3.25   一般文件的打印 142.3.26   troff 文件的打印 142.3.27   打印机控制命令 142.3.28   进程控制 152.3.29   外壳变量 162.3.30   环境变量 162.3.31   别名 162.3.32   历史命令 172.3.33   文件的压缩 172.3.34   管道命令的使用 172.3.35   输入/输出控制 182.3.36   查看系统中的用户 182.3.37   改变用户名 182.3.38   查看用户名 182.3.39   查看当前系统上所有工作站       的用户 192.3.40   与某工作站上的用户交谈 192.3.41   检查远程系统是否正常 192.3.42   电子邮件的使用简介 19第3章   Linux系统的网络功能 213.1   Linux支持的网络协议 213.1.1   TCP/IP 213.1.2   TCP/IP 版本 6 213.1.3   IPX/SPX 213.1.4   AppleTalk 协议集 213.1.5   广域网 223.1.6   ISDN 223.1.7   PPP、SLIP及PLIP 223.1.8   业余无线电 223.1.9   ATM 223.2   Linux系统下的文件共享和打印共享 223.2.1   Machintosh 环境 223.2.2   Windows 环境 223.2.3   Novell 环境 233.2.4   UNIX 环境 233.3   Linux系统中的Internet/Intranet功能 233.3.1   邮件 233.3.2   Web 服务器 243.3.3   Web 浏览器 243.3.4   FTP 服务器和客户机 243.3.5   新闻服务 243.3.6   域名系统 243.3.7   DHCP和 bootp 243.3.8   NIS 243.4   Linux系统下应用程序的远程执行 243.4.1   Telnet 253.4.2   远程命令 253.4.3   X Window 253.5   Linux系统的网络互连功能 253.5.1   路由器 253.5.2   网桥 253.5.3   IP伪装 253.5.4   IP统计 263.5.5   IP 别名 263.5.6   流量限制器 263.5.7   防火墙 263.5.8   端口下传 263.5.9   负载平衡 263.5.10   EQL 273.5.11   代理服务器 273.5.12   按需拨号 273.5.13   管道、移动IP和虚拟个人网络 273.6   Linux系统中的网络管理 273.6.1   Linux系统下的网络管理应用程序 273.6.2   SNMP 283.7   企业级Linux网络 283.7.1   高可用性 283.7.2   RAID 283.7.3   冗余网络 28第4章   Linux系统管理简介 294.1   root 帐号 294.2   启动和关闭系统 294.2.1   从软盘启动 294.2.2   使用LILO 启动 294.2.3   关闭Linux系统 304.3   挂接文件系统 304.3.1   挂接软盘 304.3.2   创建新的文件系统 304.3.3   卸载文件系统 314.4   检查文件系统 314.5   使用文件作为交换区 314.6   系统和文件的备份 324.7   设置系统 334.7.1   设置系统名 334.7.2   使用维护磁盘 334.7.3   重新设置root 帐号口令 334.7.4   设置登录信息 33第二篇   Linux高级语言及管理编程第5章   外壳编程 355.1   创建和运行外壳程序 355.1.1   创建外壳程序 355.1.2   运行外壳程序 355.2   使用外壳变量 365.2.1   给变量赋值 365.2.2   读取变量的值 375.2.3   位置变量和其他系统变量 375.2.4   引号的作用 375.3   数值运算命令 385.4   条件表达式 405.4.1   if 表达式 405.4.2   case 表达式 415.5   循环语句 425.5.1   for 语句 435.5.2   while 语句 435.5.3   until 语句 445.6   shift 命令 445.7   select 语句 455.8   repeat 语句 465.9   子函数 46第6章   gawk语言编程 486.1   gawk的主要功能 486.2   如何执行gawk程序 486.3   文件、记录和字段 486.4   模式和动作 496.5   比较运算和数值运算 506.6   内部函数 506.6.1   随机数和数学函数 516.6.2   字符串的内部函数 516.6.3   输入输出的内部函数 526.7   字符串和数字 526.8   格式化输出 526.9   改变字段分隔符 546.10   元字符 546.11   调用gawk程序 556.12   BEGIN和END 556.13   变量 566.14   内置变量 566.15   控制结构 576.15.1   if 表达式 576.15.2   while 循环 576.15.3   for 循环 586.15.4   next 和 exit 586.16   数组 586.17   用户自定义函数 586.18   几个实例 59第7章   Perl语言编程 607.1   什么是Perl 607.2   Perl的现状 607.3   初试Perl 607.4   Perl变量 607.4.1   标量 607.4.2   数组 637.4.3   相关数组 657.5   文件句柄和文件操作 657.6   循环结构 667.6.1   foreach循环 667.6.2   判断运算 667.6.3   for循环 677.6.4   while 和 until循环 677.7   条件结构 677.8   字符匹配 687.9   替换和翻译 697.9.1   替换 697.9.2   翻译 707.10   子过程 707.10.1   子过程的定义 707.10.2   参数 707.10.3   返回值 707.11   Perl程序的完整例子 71第三篇   Linux系统内核分析第8章   Linux内核简介 738.1   系统初始化 738.2   系统运行 738.3   内核提供的各种系统调用 748.3.1   进程的基本概念和系统            的基本数据结构 748.3.2   创建和撤消进程 748.3.3   执行程序 748.4   存取文件系统 75第9章   系统进程 769.1   什么是进程 769.2   进程的结构 769.3   进程调度 789.4   进程使用的文件 799.5   进程使用的虚拟内存 809.6   创建进程 819.7   进程的时间和计时器 819.7.1   实时时钟 819.7.2   虚拟时钟 819.7.3   形象时钟 819.8   程序的执行 829.8.1   ELF文件 829.8.2   脚本文件 82第10章   内存管理 8310.1   内存管理的作用 8310.2   虚拟内存的抽象模型 8310.3   按需装入页面 8410.4   交换 8510.5   共享虚拟内存 8510.6   存取控制 8510.7   高速缓存 8610.7.1   缓冲区高速缓存 8610.7.2   页面高速缓存 8610.7.3   交换高速缓存 8610.7.4   硬件高速缓存 8610.8   系统页面表 8610.9   页面的分配和释放 8710.9.1   页面的分配 8810.9.2   页面的释放 8810.10   内存映射 8810.11   请求调页 8910.12   页面高速缓存 8910.13   内核交换守护进程 90第11章   进程间通信 9111.1   信号机制 9111.2   管道机制 9211.3  System V IPC 机制  9311.3.1   信息队列 9311.3.2   信号量 9411.3.3   共享内存 96第12章   PCI 9812.1   PCI 系统 9812.2   PCI地址空间 9812.3   PCI设置头 9912.4   PCI I/O 和 PCI 内存地址 10012.5   PCI-ISA桥 10012.6   PCI-PCI 桥 10012.7   PCI初始化 10112.7.1   Linux系统内核有关PCI的      数据结构 10112.7.2   PCI 设备驱动程序 10212.7.3   PCI BIOS 函数 10512.7.4   PCI Fixup 105第13章   中断和中断处理 10613.1   中断 10613.2   可编程中断控制器 10613.3   初始化中断处理的数据结构 10713.4   中断处理 108第14章   设备驱动程序 10914.1   硬件设备的管理 10914.2   轮询和中断 11014.3   直接内存存取 11014.4   内存 11114.5   设备驱动程序和内核之间的接口 11114.5.1   字符设备 11214.5.2   块设备 11314.6   硬盘 11314.6.1   IDE 硬盘 11514.6.2   初始化IDE 硬盘子系统 11514.6.3   SCSI 硬盘 11514.6.4   初始化 SCSI 磁盘子系统 11614.6.5   传递块设备请求 11814.7   网络设备 11814.7.1   网络设备文件名 11814.7.2   总线信息 11814.7.3   网络接口标记 11914.7.4   协议信息 11914.7.5   初始化网络设备 119第15章   文件系统 12115.1   Linux文件系统概述 12115.2   ext2文件系统 12215.2.1   ext2的索引节点 12215.2.2   ext2超级块 12415.2.3   ext2 数据块组描述符 12415.2.4   ext2 中的目录 12515.2.5   在ext2 文件系统中查找文件 12515.2.6   改变ext2 文件系统中文件             的大小 12615.3   VFS 12715.3.1   VFS 超级块 12815.3.2   VFS 索引节点 12915.3.3   登记文件系统 12915.3.4   挂接文件系统 13015.3.5   在VFS中查找文件 13115.3.6   撤消文件系统 13115.3.7   VFS 索引节点缓存 13215.3.8   VFS目录缓存 13215.4   缓冲区缓存 13315.5   /proc 文件系统 135第16章   网络系统 13616.1   TCP/IP 网络简介 13616.2   TCP/IP网络的分层 13716.3   BSD 套接口 13816.4   INET套接口层 14016.4.1   创建BSD 套接口 14116.4.2   给INET BSD 套接口指定地址 14116.4.3   在INET BSD套接口上创建连接 14216.4.4   监听INET BSD 套接口 14216.4.5   接收连接请求 14316.5   IP 层 14316.5.1   套接口缓冲区 14316.5.2   接收IP数据包 14416.5.3   发送IP数据包 14416.5.4   数据碎片 14416.6   地址解析协议 145第17章   系统内核机制 14717.1   Bottom Half处理 14717.2   任务队列 14817.3   计时器 14917.4   等待队列 14917.5   信号量 150第四篇   Linux系统高级编程第18章   Linux内核模块编程 15118.1   一个简单程序Hello World 15118.2   设备文件 15218.3    /proc文件系统 15618.4   使用/proc输入 15818.5   与设备文件通信 16218.6   启动参数 16918.7   系统调用 17018.8   阻塞进程 17218.9   替换printk 17718.10   调度任务 178第19章   有关进程通信的编程 18119.1   进程间通信简介 18119.2   半双工UNIX管道 18119.2.1   基本概念 18119.2.2   使用C语言创建管道 18219.2.3   创建管道的简单方法 18519.2.4   使用管道的自动操作 18719.2.5   使用半双工管道时的注意事项 18819.3   命名管道 18819.3.1   基本概念 18819.3.2   创建FIFO 18819.3.3   FIFO操作 18919.3.4   FIFO的阻塞 19019.3.5    SIGPIPE信号 19019.4   System V IPC 19019.4.1   基本概念 19019.4.2   消息队列基本概念 19119.4.3   系统调用msgget() 19419.4.4   系统调用msgsnd() 19519.4.5   系统调用msgctl() 19719.4.6   一个msgtool的实例 19919.5   使用信号量编程 20119.5.1   基本概念 20119.5.2   系统调用semget() 20219.5.3   系统调用semop() 20319.5.4   系统调用semctl() 20419.5.5   使用信号量集的实例:semtool 20519.6   共享内存 20919.6.1   基本概念 20919.6.2   系统内部用户数据结构             shmid_ds 20919.6.3   系统调用shmget() 21019.6.4   系统调用shmat() 21119.6.5   系统调用shmctl() 21119.6.6   系统调用shmdt() 21219.6.7   使用共享内存的实例:shmtool 212第20章   高级线程编程 21520.1   线程的概念和用途 21520.2   一个简单的例子 21520.3   线程同步 21720.4   使用信号量协调程序 21820.5   信号量的实现 22020.5.1   Semaphore.h 22020.5.2   Semaphore.c 221第21章   Linux系统网络编程 22521.1   什么是套接口 22521.2   两种类型的Internet套接口 22521.3   网络协议分层 22521.4   数据结构 22521.5   IP地址和如何使用IP地址 22621.5.1   socket() 22621.5.2   bind() 22621.5.3   connect() 22721.5.4   listen() 22821.5.5   accept() 22821.5.6   send() 和 recv() 22921.5.7   sendto() 和 recvfrom() 23021.5.8   close() 和 shutdown() 23021.5.9   getpeername() 23121.5.10   gethostname() 23121.6   DNS 23121.7   客户机/服务器模式 23221.8   简单的数据流服务器程序 23221.9   简单的数据流客户机程序 23421.10   数据报套接口 23521.11   阻塞 237第22章   Linux I/O端口编程 24022.1   如何在 C 语言下使用I/O端口 24022.1.1   一般的方法 24022.1.2   另一个替代方法: /dev/port 24122.2   硬件中断 与 DMA 存取 24122.3   高精确的时间 24122.3.1   延迟时间 24122.3.2   时间的量测 24322.4   使用其他程序语言 24322.5   一些有用的 I/O 端口 24322.5.1   并行端口 24322.5.2   游戏端口 24422.5.3   串行端口 245第五篇   Linux系统安全分析第23章   系统管理员安全 24723.1   安全管理 24723.2   超级用户 24723.3   文件系统安全 24723.3.1   Linux文件系统概述 24723.3.2   设备文件 24823.3.3   /etc/mknod命令 24923.3.4   安全考虑 24923.3.5   find命令 25023.3.6   secure程序 25023.3.7   ncheck命令 25023.3.8   安装和拆卸文件系统 25023.3.9   系统目录和文件 25123.4   作为root运行的程序 25123.4.1   启动系统 25123.4.2   init进程 25123.4.3   进入多用户 25223.4.4   shutdown命令 25223.4.5   系统V的cron程序 25223.4.6   系统V版本2之后的cron程序 25223.4.7   /etc/profile 25323.5   /etc/passwd文件 25323.5.1   口令时效 25323.5.2   UID和GID 25423.6   /etc/group文件 25423.7   增加、删除和移走用户 25423.7.1   增加用户 25423.7.2   删除用户 25523.7.3   将用户移到另一个系统 25523.8   安全检查 25523.8.1   记帐 25523.8.2   其他检查命令 25623.8.3   安全检查程序的问题 25623.8.4   系统泄密后怎么办 25723.9   加限制的环境 25823.9.1   加限制的外壳 25823.9.2   用chroot()限制用户 25823.10   小系统安全 25923.11   物理安全 25923.12   用户意识 26023.13   系统管理员意识 26123.13.1   保持系统管理员个人的               登录安全 26123.13.2   保持系统安全 261第24章   系统程序员安全 26324.1   系统子程序 26324.1.1   I/O子程序 26324.1.2   进程控制 26324.1.3   文件属性 26424.1.4   UID和GID的处理 26524.2   标准C程序库 26524.2.1   标准I/O 26524.2.2   /etc/passwd的处理 26624.2.3   /etc/group的处理 26724.2.4   加密子程序 26824.2.5   运行外壳 26824.3   编写安全的C程序 26824.3.1   需要考虑的安全问题 26824.3.2   SUID/SGID程序指导准则 26924.3.3   编译、安装SUID/SGID程序             的方法 26924.4   root用户程序的设计 270第25章   Linux系统的网络安全 27225.1   UUCP系统概述 27225.1.1   UUCP命令 27225.1.2   uux命令 27225.1.3   uucico程序 27325.1.4   uuxqt程序 27325.2   UUCP的安全问题 27325.2.1   USERFILE文件 27325.2.2   L.cmds文件 27425.2.3   uucp登录 27425.2.4   uucp使用的文件和目录 27425.3   HONEYDANBER UUCP 27525.3.1   HONEYDANBER UUCP与           老UUCP的差别 27525.3.2   登录名规则 27625.3.3   MACHINE规则 27725.3.4   组合MACHINE和LOGNAME             规则 27825.3.5   uucheck命令 27825.3.6   网关 27825.3.7   登录文件检查 27925.4   其他网络 27925.4.1   远程作业登录 27925.4.2   NSC网络系统 28025.5   通信安全 28025.5.1   物理安全 28025.5.2   加密 28125.5.3   用户身份鉴别 28225.6   SUN OS系统的网络安全 28325.6.1   确保NFS的安全 28325.6.2   NFS安全性方面的缺陷 28425.6.3   远程过程调用鉴别 28425.6.4   Linux鉴别机制 28425.6.5   DES鉴别系统 28525.6.6   公共关键字的编码 28625.6.7   网络实体的命名 28625.6.8   DES鉴别系统的应用 28725.6.9   遗留的安全问题 28725.6.10   性能 28825.6.11   启动和setuid程序引起的问题 28825.6.12   小结 289第26章   Linux系统的用户安全性 29026.1   口令安全 29026.2   文件许可权 29026.3   目录许可 29126.4   umask命令 29126.5   设置用户ID和同组用户ID许可 29126.6   cp mv ln和cpio命令 29126.7   su和newgrp命令 29226.7.1   su命令 29226.7.2   newgrp命令 29226.8   文件加密 29226.9   其他安全问题 29326.9.1   用户的.profile文件 29326.9.2   ls -a 29326.9.3   .exrc文件 29326.9.4   暂存文件和目录 29326.9.5   UUCP和其他网络 29326.9.6   特洛伊木马 29426.9.7   诱骗 29426.9.8   计算机病毒 29426.9.9   要离开自己已登录的终端 29426.9.10   智能终端 29426.9.11   断开与系统的连接 29426.9.12   cu命令 29526.10   保持帐户安全的要点 295第六篇   X window系统的内部结构和使用第27章  X Window系统的基本知识 29727.1   X Window系统介绍 29727.1.1   X的特点 29727.1.2   什么是窗口系统 29827.1.3   X发展的历史 29927.1.4   X的产品 29927.1.5   MIT发行的X 29927.2   X的基本结构 30227.2.1   X 的基本元素 30327.2.2   服务程序和客户程序如何             交互通信 30427.2.3   X 的网络概况 30627.3   从用户界面的角度概观X 30727.3.1   管理界面:窗口管理器 30727.3.2   应用程序界面和工具箱 30927.3.3   其他系统角度 30927.4   术语和符号 31027.4.1   术语 31027.4.2   符号 31127.5   启动和关闭X 31227.5.1   启动X 31227.5.2   执行X程序的方式 31327.5.3   关闭X 31427.6   窗口管理器基础—uwm 31527.6.1   什么是窗口管理器 31527.6.2   启动uwm 31527.6.3   基本窗口操作 —uwm             的菜单 31527.6.4   移动窗口 31627.6.5   重定窗口大小 31627.6.6   建立新窗口 31627.6.7   管理屏幕空间 31827.6.8   中止应用程序窗口 32027.6.9   激活uwm菜单的其他方式 32027.7   使用 x的网络设备 32027.7.1   指定远程终端机—display             选项 32127.7.2   实际使用远程的显示器 32227.7.3   控制存取显示器—xhost 32227.8   终端机模拟器—详细介绍xterm 32327.8.1   选择xterm功能—菜单与       命令行选项 32327.8.2   滚动xterm屏幕 32427.8.3   记录与终端机的交互过程—写           记录 32527.8.4   剪贴文本 32527.8.5   使用Tektronix模拟功能 32627.8.6   使用不同的字体 32727.8.7   使用颜色 32727.8.8   其他xterm选项 32727.8.9   设定终端机键盘 328第28章   实用程序和工具 32928.1   实用程序 32928.2   保存、显示和打印屏幕图像 33028.3   使用X的应用程序 33228.3.1   文字编辑器—Xedit 33328.3.2   邮件/信息处理系统—xmh 33628.4   示例和游戏程序 33628.4.1   找出通过随机迷宫的             路径—maze 33628.4.2   担任鼠标指针的大眼睛—             xeyes 33628.4.3   智慧盘游戏—puzzle 33728.4.4   打印一个大X标志—xlogo 33728.4.5   跳动的多面体—ico 33728.4.6   动态几何图案—muncher与             plaid 33728.7   显示信息和状态的程序 33728.7.1   列出X服务程序的特征—    xdpyinfo 33828.7.2   获取有关窗口的信息 33828.7.3   观察X的事件—xev 340第29章   定制X Window系统 34129.1   使用X的字体和颜色 34129.1.1   字体初步 34129.1.2   字体命名 34229.1.3   观察特定字体的内容—xfd 34329.1.4   保存字体和位置 34329.1.5   例子:在你的服务程序中      增加新字体 34529.1.6   使用X的颜色 34629.2   定义和使用图形 34729.2.1   系统图形程序库 34729.2.2   交互编辑图形—bitmap 34729.2.3   编辑图形的其他方法 34929.2.4   定制根窗口—xsetroot 34929.3   定义应用程序的缺省选项—           Resources 35029.3.1   什么是资源 35029.3.2   XToolkit 35129.3.3   管理资源—资源管理器 35329.3.4   资源的类型—如何指定值 35829.4   实际使用资源 35929.4.1   在何处保存资源的缺省值 35929.4.2   在服务程序上保存缺省值—    xrdb 36329.4.3   常见的错误和修正 36629.5   定制键盘和鼠标 36729.5.1   实际使用转换 36829.5.2   转换—格式和规则 37429.5.3   转换规范中常见的问题 37729.6   键盘和鼠标—对应和参数 37929.6.1   键盘和鼠标映射—xmodmap 37929.6.2   键盘和鼠标参数设定—xset 38229.7   进一步介绍和定制uwm 38429.7.1   uwm的新特征 38429.7.2   定制uwm 38629.8   显示器管理器—xdm 39029.8.1   需要做些什么 39029.8.2   xdm 39129.8.3   xdm的更多信息 39229.8.4   uwm配置 395附录A   Gcc使用介绍 396附录B   安装X Window窗口系统 410

    标签: LINUX 系统分析 高级编程

    上传时间: 2013-11-10

    上传用户:changeboy

  • . 缓存处理技术

    . 缓存处理技术,定时更新系统数据,提升系统性能 B. 系统模板管理功能,方便制作个性化的系统模板,可后台管理 C. 首页商品和店铺的自助推荐功能,用户可使用虚拟币采用竞价方式自助推荐自己的商品和店铺 D. 店铺的皮肤转换,重新设计店铺结构 E. 商品,店铺,求购信息的搜索,采用积木式查询,减少等待时间 F. 支付宝按钮支付功能(用于系统用户与用户间的付款交易) G. 重新制作广告系统,静态JS读取速度更快 H. 最高价竞拍模式中加入一口价购买的功能 I. 后台管理员的分权限管理(管理,添加,查看) j. 后台商品首页推荐,店铺首页推荐功能 K. 商品可实现四级分类处理 L. 增加店铺分类功能 M. 外接用户数据库(AC和SQL两种),系统邮件发送,图片上传,缓存更新,MD5加密等后台管理功能 N. 实现了商品登陆收费的功能

    标签: 缓存 处理技术

    上传时间: 2015-06-24

    上传用户:我干你啊

  • 一款类似百度知道系统的问题解答系统

    一款类似百度知道系统的问题解答系统,问题页面自动生成静态网页- M( ]- `+ X0 x 系统特色: + O$ U8 n- [ z# {/ E本系统结合了仿百度知道程序和仿新浪爱问程序的共同优点,设计更加合理 6 X) H8 a5 t9 h& D6 e8 S9 p2 P 问题页面实时生成静态页面,减少系统开销,更利于搜索引擎的收录 ! f5 U& N3 J+ B7 I" S完美使用系统缓存,减少数据库读取次数 b T |, g1 v9 \" E* Z 完善的后台管理功能 # u5 C: I- c$ P6 P( H9 S2 w支持问题的附件上传 . U! K+ k ~) o 对搜索引擎的优化:支持Keywords和Description页面头部标签的自定义 6 ^! h: m- U4 p( z# X支持 JS 代码的问题调用 t8 E5 ]) b3 M8 x* z提供与动网、oblog、动易实现用户整合的标准接口 ) {4 \ ` ]1 g1 F8 u

    标签: 百度

    上传时间: 2013-11-28

    上传用户:ztj182002

  • net_tcp.h

    /* ********************************************************************************************************* *                                             uC/TCP-IP V2 *                                      The Embedded TCP/IP Suite * *                          (c) Copyright 2003-2010; Micrium, Inc.; Weston, FL * *               All rights reserved.  Protected by international copyright laws. * *               uC/TCP-IP is provided in source form to registered licensees ONLY.  It is  *               illegal to distribute this source code to any third party unless you receive  *               written permission by an authorized Micrium representative.  Knowledge of  *               the source code may NOT be used to develop a similar product. * *               Please help us continue to provide the Embedded community with the finest  *               software available.  Your honesty is greatly appreciated. * *               You can contact us at www.micrium.com. ********************************************************************************************************* */ /* ********************************************************************************************************* * *                                          NETWORK TCP LAYER *                                   (TRANSMISSION CONTROL PROTOCOL) * * Filename      : net_tcp.h * Version       : V2.10 * Programmer(s) : ITJ ********************************************************************************************************* * Note(s)       : (1) Supports Transmission Control Protocol as described in RFC #793 with the following *                     restrictions/constraints : * *                     (a) TCP Security & Precedence NOT supported               RFC # 793, Section 3.6 * *                     (b) TCP Urgent Data           NOT supported               RFC # 793, Section 3.7 *                                                                                'The Communication of *                                                                                  Urgent Information' * *                     (c) The following TCP options NOT supported :              * *                         (1) Window Scale                                      RFC #1072, Section 2 *                                                                               RFC #1323, Section 2 *                         (2) Selective Acknowledgement (SACK)                  RFC #1072, Section 3 *                                                                               RFC #2018 *                                                                               RFC #2883 *                         (3) TCP Echo                                          RFC #1072, Section 4 *                         (4) Timestamp                                         RFC #1323, Section 3.2 *                         (5) Protection Against Wrapped Sequences (PAWS)       RFC #1323, Section 4 * *                     (d) #### IP-Options-to-TCP-Connection                     RFC #1122, Section 4.2.3.8 *                                Handling NOT           supported * *                     (e) #### ICMP-Error-Message-to-TCP-Connection             RFC #1122, Section 4.2.3.9 *                                Handling NOT currently supported * *                 (2) TCP Layer assumes/requires Network Socket Layer (see 'net_sock.h  MODULE  Note #1a2'). ********************************************************************************************************* */ /*$PAGE*/ /* ********************************************************************************************************* *                                               MODULE * * Note(s) : (1) TCP Layer module is NOT required for UDP-to-Application API configuration. * *               See also 'net_cfg.h  TRANSPORT LAYER CONFIGURATION' *                      & 'net_cfg.h  USER DATAGRAM PROTOCOL LAYER CONFIGURATION'. * *               See also 'net_tcp.h  Note #2'. * *           (2) The following TCP-module-present configuration value MUST be pre-#define'd in  *               'net_cfg_net.h' PRIOR to all other network modules that require TCP Layer *               configuration (see 'net_cfg_net.h  TCP LAYER CONFIGURATION  Note #2b') : * *                   NET_TCP_MODULE_PRESENT ********************************************************************************************************* */ #ifdef   NET_TCP_MODULE_PRESENT                                 /* See Note #2.                                         */ /* ********************************************************************************************************* *                                               EXTERNS ********************************************************************************************************* */ #if ((defined(NET_TCP_MODULE)) && \      (defined(NET_GLOBALS_EXT))) #define  NET_TCP_EXT #else #define  NET_TCP_EXT  extern #endif /*$PAGE*/ /* ********************************************************************************************************* *                                               DEFINES ********************************************************************************************************* */ /* ********************************************************************************************************* *                                         TCP HEADER DEFINES * * Note(s) : (1) The following TCP value MUST be pre-#define'd in 'net_def.h' PRIOR to 'net_buf.h' so that *               the Network Buffer Module can configure maximum buffer header size (see 'net_def.h  TCP *               LAYER DEFINES' & 'net_buf.h  NETWORK BUFFER INDEX & SIZE DEFINES  Note #1') : * *               (a) NET_TCP_HDR_SIZE_MAX                  60        (NET_TCP_HDR_LEN_MAX *                                                                  * NET_TCP_HDR_LEN_WORD_SIZE) * *           (2) Urgent pointer & data NOT supported (see 'net_tcp.h  Note #1b'). ********************************************************************************************************* */ #define  NET_TCP_HDR_LEN_MASK                         0xF000u #define  NET_TCP_HDR_LEN_SHIFT                            12u #define  NET_TCP_HDR_LEN_NONE                              0u #define  NET_TCP_HDR_LEN_MIN                               5u #define  NET_TCP_HDR_LEN_MAX                              15u #define  NET_TCP_HDR_LEN_WORD_SIZE                       CPU_WORD_SIZE_32 #define  NET_TCP_HDR_SIZE_MIN                           (NET_TCP_HDR_LEN_MIN * NET_TCP_HDR_LEN_WORD_SIZE) #if 0                                                           /* See Note #1a.                                        */ #define  NET_TCP_HDR_SIZE_MAX                           (NET_TCP_HDR_LEN_MAX * NET_TCP_HDR_LEN_WORD_SIZE) #endif #define  NET_TCP_HDR_SIZE_TOT_MIN                       (NET_IP_HDR_SIZE_TOT_MIN + NET_TCP_HDR_SIZE_MIN) #define  NET_TCP_HDR_SIZE_TOT_MAX                       (NET_IP_HDR_SIZE_TOT_MAX + NET_TCP_HDR_SIZE_MAX) #define  NET_TCP_PSEUDO_HDR_SIZE                          12u   /*  = sizeof(NET_TCP_PSEUDO_HDR)                        */ #define  NET_TCP_PORT_NBR_RESERVED                       NET_PORT_NBR_RESERVED #define  NET_TCP_PORT_NBR_NONE                           NET_TCP_PORT_NBR_RESERVED #define  NET_TCP_HDR_URG_PTR_NONE                     0x0000u   /* See Note #2.                                         */ /*$PAGE*/ /* ********************************************************************************************************* *                                       TCP HEADER FLAG DEFINES * * Note(s) : (1) See 'TCP HEADER  Note #2' for flag fields. * *           (2) Urgent pointer & data NOT supported (see 'net_tcp.h  Note #1b'). ********************************************************************************************************* */ #define  NET_TCP_HDR_FLAG_MASK                        0x0FFFu #define  NET_TCP_HDR_FLAG_NONE                    DEF_BIT_NONE #define  NET_TCP_HDR_FLAG_RESERVED                    0x0FE0u   /* MUST be '0'.                                         */ #define  NET_TCP_HDR_FLAG_URGENT                  DEF_BIT_05    /* See Note #2.                                         */ #define  NET_TCP_HDR_FLAG_ACK                     DEF_BIT_04 #define  NET_TCP_HDR_FLAG_PUSH                    DEF_BIT_03 #define  NET_TCP_HDR_FLAG_RESET                   DEF_BIT_02 #define  NET_TCP_HDR_FLAG_SYNC                    DEF_BIT_01 #define  NET_TCP_HDR_FLAG_FIN                     DEF_BIT_00 #define  NET_TCP_HDR_FLAG_CLOSE                   NET_TCP_HDR_FLAG_FIN /* ********************************************************************************************************* *                                          TCP FLAG DEFINES ********************************************************************************************************* */                                                                 /* ------------------ NET TCP FLAGS ------------------- */ #define  NET_TCP_FLAG_NONE                        DEF_BIT_NONE #define  NET_TCP_FLAG_USED                        DEF_BIT_00    /* TCP conn cur used; i.e. NOT in free TCP conn pool.   */                                                                 /* ------------------ TCP TX  FLAGS ------------------- */                                                                 /* TCP tx flags copied from TCP hdr flags.              */ #define  NET_TCP_FLAG_TX_FIN                      NET_TCP_HDR_FLAG_FIN #define  NET_TCP_FLAG_TX_CLOSE                    NET_TCP_FLAG_TX_FIN #define  NET_TCP_FLAG_TX_SYNC                     NET_TCP_HDR_FLAG_SYNC #define  NET_TCP_FLAG_TX_RESET                    NET_TCP_HDR_FLAG_RESET #define  NET_TCP_FLAG_TX_PUSH                     NET_TCP_HDR_FLAG_PUSH #define  NET_TCP_FLAG_TX_ACK                      NET_TCP_HDR_FLAG_ACK #define  NET_TCP_FLAG_TX_URGENT                   NET_TCP_HDR_FLAG_URGENT #define  NET_TCP_FLAG_TX_BLOCK                    DEF_BIT_07                                                                 /* ------------------ TCP RX  FLAGS ------------------- */ #define  NET_TCP_FLAG_RX_DATA_PEEK                DEF_BIT_08 #define  NET_TCP_FLAG_RX_BLOCK                    DEF_BIT_15 /*$PAGE*/ /* ********************************************************************************************************* *                                          TCP TYPE DEFINES * * Note(s) : (1) NET_TCP_TYPE_&&& #define values specifically chosen as ASCII representations of the TCP *               types.  Memory displays of TCP types will display with their chosen ASCII names. ********************************************************************************************************* */                                                                 /* ------------------ NET TCP TYPES ------------------- */ #if     (CPU_CFG_ENDIAN_TYPE == CPU_ENDIAN_TYPE_BIG) #define  NET_TCP_TYPE_NONE                        0x4E4F4E45u   /* "NONE" in ASCII.                                     */ #define  NET_TCP_TYPE_CONN                        0x54435020u   /* "TCP " in ASCII.                                     */ #else #if     (CPU_CFG_DATA_SIZE   == CPU_WORD_SIZE_32) #define  NET_TCP_TYPE_NONE                        0x454E4F4Eu   /* "NONE" in ASCII.                                     */ #define  NET_TCP_TYPE_CONN                        0x20504354u   /* "TCP " in ASCII.                                     */ #elif   (CPU_CFG_DATA_SIZE   == CPU_WORD_SIZE_16) #define  NET_TCP_TYPE_NONE                        0x4F4E454Eu   /* "NONE" in ASCII.                                     */ #define  NET_TCP_TYPE_CONN                        0x43542050u   /* "TCP " in ASCII.                                     */ #else                                                           /* Dflt CPU_WORD_SIZE_08.                               */ #define  NET_TCP_TYPE_NONE                        0x4E4F4E45u   /* "NONE" in ASCII.                                     */ #define  NET_TCP_TYPE_CONN                        0x54435020u   /* "TCP " in ASCII.                                     */ #endif #endif /* ********************************************************************************************************* *                                     TCP SEQUENCE NUMBER DEFINES * * Note(s) : (1) TCP initial transmit sequence number is incremented by a fixed value, preferably a large *               prime value or a large value with multiple unique factors. * *               (a) One reasonable TCP initial transmit sequence number increment value example : * *                       65527  =  37 * 23 * 11 * 7 * * *               #### NET_TCP_TX_SEQ_NBR_CTR_INC could be developer-configured in 'net_cfg.h'. * *               See also 'NET_TCP_TX_GET_SEQ_NBR()  Notes #1b2 & #1c2'. ********************************************************************************************************* */ #define  NET_TCP_SEQ_NBR_NONE                              0u #define  NET_TCP_ACK_NBR_NONE                            NET_TCP_SEQ_NBR_NONE #define  NET_TCP_TX_SEQ_NBR_CTR_INC                    65527u   /* See Note #1.                                         */ #define  NET_TCP_ACK_NBR_DUP_WIN_SIZE_SCALE                4 /*$PAGE*/ /* ********************************************************************************************************* *                                    TCP DATA/TOTAL LENGTH DEFINES * * Note(s) : (1) (a) TCP total length #define's (NET_TCP_TOT_LEN)  relate to the total size of a complete *                   TCP packet, including the packet's TCP header.  Note that a complete TCP packet MAY *                   be fragmented in multiple Internet Protocol packets. * *               (b) TCP data  length #define's (NET_TCP_DATA_LEN) relate to the data  size of a complete *                   TCP packet, equal to the total TCP packet length minus its TCP header size.  Note  *                   that a complete TCP packet MAY be fragmented in multiple Internet Protocol packets. ********************************************************************************************************* */                                                                                 /* See Notes #1a & #1b.                 */ #define  NET_TCP_DATA_LEN_MIN                              0u #define  NET_TCP_TOT_LEN_MIN                            (NET_TCP_HDR_SIZE_MIN + NET_TCP_DATA_LEN_MIN) #define  NET_TCP_TOT_LEN_MAX                            (NET_IP_TOT_LEN_MAX   - NET_IP_HDR_SIZE_MIN ) #define  NET_TCP_DATA_LEN_MAX                           (NET_TCP_TOT_LEN_MAX  - NET_TCP_HDR_SIZE_MIN) /*$PAGE*/ /* ********************************************************************************************************* *                                      TCP SEGMENT SIZE DEFINES * * Note(s) : (1) (a) RFC # 879, Section 3 states that the TCP Maximum Segment Size "counts only *                   data octets in the segment, ... not the TCP header or the IP header". * *               (b) RFC #1122, Section 4.2.2.6 requires that : * *                   (1) "The MSS value to be sent in an MSS option must be less than or equal to * *                        (A) MMS_R - 20 * *                        where MMS_R is the maximum size for a transport-layer message that can *                        be received." * *                   (2) "If an MSS option is not received at connection setup, TCP MUST assume a *                        default send MSS of 536 (576 - 40)." * *                   See also 'net_ip.h  IP DATA/TOTAL LENGTH DEFINES  Note #1'. ********************************************************************************************************* */                                                                                         /* See Note #1.                 */ #define  NET_TCP_MAX_SEG_SIZE_DFLT                      (NET_IP_MAX_DATAGRAM_SIZE_DFLT - NET_IP_HDR_SIZE_MIN - NET_TCP_HDR_SIZE_MIN) #define  NET_TCP_MAX_SEG_SIZE_DFLT_RX                    NET_TCP_DATA_LEN_MAX           /* See Note #1b1.               */ #define  NET_TCP_MAX_SEG_SIZE_DFLT_TX                    NET_TCP_MAX_SEG_SIZE_DFLT      /* See Note #1b2.               */ #define  NET_TCP_MAX_SEG_SIZE_NONE                         0u #define  NET_TCP_MAX_SEG_SIZE_MIN                        NET_TCP_MAX_SEG_SIZE_DFLT #define  NET_TCP_MAX_SEG_SIZE_MAX                        NET_TCP_DATA_LEN_MAX #define  NET_TCP_SEG_LEN_MIN                             NET_TCP_DATA_LEN_MIN #define  NET_TCP_SEG_LEN_MAX                             NET_TCP_DATA_LEN_MAX #define  NET_TCP_SEG_LEN_SYNC                              1u #define  NET_TCP_SEG_LEN_FIN                               1u #define  NET_TCP_SEG_LEN_CLOSE                           NET_TCP_SEG_LEN_FIN #define  NET_TCP_SEG_LEN_ACK                               0u #define  NET_TCP_SEG_LEN_RESET                             0u #define  NET_TCP_SEG_LEN_PROBE                             0u #define  NET_TCP_DATA_LEN_TX_SYNC                          0u #define  NET_TCP_DATA_LEN_TX_FIN                           0u #define  NET_TCP_DATA_LEN_TX_CLOSE                       NET_TCP_DATA_LEN_TX_FIN #define  NET_TCP_DATA_LEN_TX_ACK                           0u #define  NET_TCP_DATA_LEN_TX_PROBE_NO_DATA                 0u #define  NET_TCP_DATA_LEN_TX_PROBE_DATA                    1u #define  NET_TCP_DATA_LEN_TX_RESET                         0u #define  NET_TCP_TX_PROBE_DATA                          0x00u /* ********************************************************************************************************* *                                       TCP WINDOW SIZE DEFINES * * Note(s) : (1) Although NO RFC specifies the absolute minimum TCP connection window size value allowed, *               RFC #793, Section 3.7 'Data Communication : Managing the Window' states that for "the *               window ... there is an assumption that this is related to the currently available data *               buffer space available for this connection". ********************************************************************************************************* */ #define  NET_TCP_WIN_SIZE_NONE                             0u #define  NET_TCP_WIN_SIZE_MIN                            NET_TCP_MAX_SEG_SIZE_MIN #define  NET_TCP_WIN_SIZE_MAX                            DEF_INT_16U_MAX_VAL /*$PAGE*/ /* ********************************************************************************************************* *                                     TCP HEADER OPTIONS DEFINES * * Note(s) : (1) See the following RFC's for TCP options summary : * *               (a) RFC # 793, Section  3.1 'Header Format : Options' *               (b) RFC #1122; Sections 4.2.2.5, 4.2.2.6 * *           (2) TCP option types are encoded in the first octet for each TCP option as follows : * *                           -------- *                           | TYPE | *                           -------- * *               The TCP option type value determines the TCP option format : * *               (a) The following TCP option types are single-octet TCP options -- i.e. the option type *                   octet is the ONLY octet for the TCP option. * *                   (1) TYPE =  0   End of Options List *                   (2) TYPE =  1   No Operation * * *               (b) All other TCP options MUST be multi-octet TCP options (see RFC #1122, Section 4.2.2.5) : * *                           ------------------------------ *                           | TYPE | LEN  |   TCP OPT    | *                           ------------------------------ * *                       where  *                               TYPE        Indicates the specific TCP option type *                               LEN         Indicates the total    TCP option length, in octets, including  *                                                the option type & the option length octets *                               TCP OPT     Additional TCP option octets, if any, that contain the remaining *                                                TCP option information * *                   The following TCP option types are multi-octet TCP options where the option's second *                   octet specify the total TCP option length, in octets, including the option type & the *                   option length octets : * *                   (1) TYPE =  2   Maximum Segment Size        See RFC # 793, Section  3.1 'Header Format : *                                                                   Options : Maximum Segment Size'; *                                                                   RFC #1122, Section 4.2.2.6; *                                                                   RFC # 879, Section 3 * *                   (2) TYPE =  3   Window  Scale               See 'net_tcp.h  Note #1c1' *                   (3) TYPE =  4   SACK Allowed                See 'net_tcp.h  Note #1c2' *                   (4) TYPE =  5   SACK Option                 See 'net_tcp.h  Note #1c2' *                   (5) TYPE =  6   Echo Request                See 'net_tcp.h  Note #1c3' *                   (6) TYPE =  7   Echo Reply                  See 'net_tcp.h  Note #1c3' *                   (7) TYPE =  8   Timestamp                   See 'net_tcp.h  Note #1c4' * *           (3) TCP header allows for a maximum option list length of 40 octets : * *                   NET_TCP_HDR_OPT_SIZE_MAX = NET_TCP_HDR_SIZE_MAX - NET_TCP_HDR_SIZE_MIN * *                                            = 60 - 20 * *                                            = 40 * *           (4) 'NET_TCP_OPT_SIZE'  MUST be pre-defined PRIOR to all definitions that require TCP option  *                size data type. ********************************************************************************************************* */ /*$PAGE*/ #define  NET_TCP_HDR_OPT_END_LIST                          0u #define  NET_TCP_HDR_OPT_NOP                               1u #define  NET_TCP_HDR_OPT_MAX_SEG_SIZE                      2u #define  NET_TCP_HDR_OPT_WIN_SCALE                         3u #define  NET_TCP_HDR_OPT_SACK_PERMIT                       4u #define  NET_TCP_HDR_OPT_SACK                              5u #define  NET_TCP_HDR_OPT_ECHO_REQ                          6u #define  NET_TCP_HDR_OPT_ECHO_REPLY                        7u #define  NET_TCP_HDR_OPT_TS                                8u #define  NET_TCP_HDR_OPT_PAD                             NET_TCP_HDR_OPT_END_LIST #define  NET_TCP_HDR_OPT_LEN_END_LIST                      1u #define  NET_TCP_HDR_OPT_LEN_NOP                           1u #define  NET_TCP_HDR_OPT_LEN_MAX_SEG_SIZE                  4u #define  NET_TCP_HDR_OPT_LEN_WIN_SCALE                     3u #define  NET_TCP_HDR_OPT_LEN_SACK_PERMIT                   2u #define  NET_TCP_HDR_OPT_LEN_ECHO_REQ                      6u #define  NET_TCP_HDR_OPT_LEN_ECHO_REPLY                    6u #define  NET_TCP_HDR_OPT_LEN_TS                           10u #define  NET_TCP_HDR_OPT_LEN_SACK_MIN                      6u #define  NET_TCP_HDR_OPT_LEN_SACK_MAX                     38u #define  NET_TCP_HDR_OPT_LEN_MIN                           1u #define  NET_TCP_HDR_OPT_LEN_MIN_LEN                       2u #define  NET_TCP_HDR_OPT_LEN_MAX                          38u typedef  CPU_INT32U  NET_TCP_OPT_SIZE;                          /* TCP opt size data type (see Note #4).                */ #define  NET_TCP_HDR_OPT_SIZE_WORD               (sizeof(NET_TCP_OPT_SIZE)) #define  NET_TCP_HDR_OPT_SIZE_MAX                       (NET_TCP_HDR_SIZE_MAX - NET_TCP_HDR_SIZE_MIN) #define  NET_TCP_HDR_OPT_NBR_MIN                           0u #define  NET_TCP_HDR_OPT_NBR_MAX                        (NET_TCP_HDR_OPT_SIZE_MAX / NET_TCP_HDR_OPT_SIZE_WORD) #define  NET_TCP_HDR_OPT_IX                              NET_TCP_HDR_SIZE_MIN /*$PAGE*/ /* ********************************************************************************************************* *                                TCP OPTION CONFIGURATION TYPE DEFINES * * Note(s) : (1) NET_TCP_OPT_CFG_TYPE_&&& #define values specifically chosen as ASCII representations of  *               the TCP option configuration types.  Memory displays of TCP option configuration buffers  *               will display the TCP option configuration TYPEs with their chosen ASCII names. ********************************************************************************************************* */                                                                 /* ---------------- TCP OPT CFG TYPES ----------------- */ #if     (CPU_CFG_ENDIAN_TYPE == CPU_ENDIAN_TYPE_BIG) #define  NET_TCP_OPT_CFG_TYPE_NONE                0x4E4F4E45u   /* "NONE" in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE        0x4D535320u   /* "MSS " in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_WIN_SCALE           0x57494E20u   /* "WIN " in ASCII (see 'net_tcp.h  Note #1c1').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK_PERMIT         0x53434B50u   /* "SCKP" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK                0x5341434Bu   /* "SACK" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REQ            0x45524551u   /* "EREQ" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REPLY          0x4543484Fu   /* "ECHO" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_TS                  0x54532020u   /* "TS  " in ASCII (see 'net_tcp.h  Note #1c4').        */ #else #if     (CPU_CFG_DATA_SIZE   == CPU_WORD_SIZE_32) #define  NET_TCP_OPT_CFG_TYPE_NONE                0x454E4F4Eu   /* "NONE" in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE        0x2053534Du   /* "MSS " in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_WIN_SCALE           0x204E4957u   /* "WIN " in ASCII (see 'net_tcp.h  Note #1c1').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK_PERMIT         0x504B4353u   /* "SCKP" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK                0x4B434153u   /* "SACK" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REQ            0x51455245u   /* "EREQ" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REPLY          0x4F484345u   /* "ECHO" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_TS                  0x20205354u   /* "TS  " in ASCII (see 'net_tcp.h  Note #1c4').        */ #elif   (CPU_CFG_DATA_SIZE   == CPU_WORD_SIZE_16) #define  NET_TCP_OPT_CFG_TYPE_NONE                0x4F4E454Eu   /* "NONE" in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE        0x534D2053u   /* "MSS " in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_WIN_SCALE           0x4957204Eu   /* "WIN " in ASCII (see 'net_tcp.h  Note #1c1').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK_PERMIT         0x4353504Bu   /* "SCKP" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK                0x41534B43u   /* "SACK" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REQ            0x52455145u   /* "EREQ" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REPLY          0x43454F48u   /* "ECHO" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_TS                  0x53542020u   /* "TS  " in ASCII (see 'net_tcp.h  Note #1c4').        */ #else                                                           /* Dflt CPU_WORD_SIZE_08.                               */ #define  NET_TCP_OPT_CFG_TYPE_NONE                0x4E4F4E45u   /* "NONE" in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE        0x4D535320u   /* "MSS " in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_WIN_SCALE           0x57494E20u   /* "WIN " in ASCII (see 'net_tcp.h  Note #1c1').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK_PERMIT         0x53434B50u   /* "SCKP" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK                0x5341434Bu   /* "SACK" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REQ            0x45524551u   /* "EREQ" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REPLY          0x4543484Fu   /* "ECHO" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_TS                  0x54532020u   /* "TS  " in ASCII (see 'net_tcp.h  Note #1c4').        */ #endif #endif /*$PAGE*/ /* ********************************************************************************************************* *                                   TCP CONNECTION TIMEOUT DEFINES * * Note(s) : (1) (a) (1) RFC #1122, Section 4.2.2.13 'DISCUSSION' states that "the graceful close algorithm *                       of TCP requires that the connection state remain defined on (at least) one end of *                       the connection, for a timeout period of 2xMSL ... During this period, the (remote  *                       socket, local socket) pair that defines the connection is busy and cannot be reused". * *                   (2) The following sections reiterate that the TIME-WAIT state timeout scalar is two *                       maximum segment lifetimes (2 MSL) : * *                       (A) RFC #793, Section 3.9 'Event Processing : SEGMENT ARRIVES : *                               Check Sequence Number : TIME-WAIT STATE' *                       (B) RFC #793, Section 3.9 'Event Processing : SEGMENT ARRIVES : *                               Check FIN Bit         : TIME-WAIT STATE' * *               (b) (1) RFC #793, Section 3.3 'Sequence Numbers : Knowing When to Keep Quiet' states that *                       "the Maximum Segment Lifetime (MSL) is ... to be 2 minutes.  This is an engineering *                       choice, and may be changed if experience indicates it is desirable to do so". * *                   (2) Microsoft Corporation's Windows XP defaults MSL to 15 seconds. ********************************************************************************************************* */                                                                                     /* Max seg timeout (see Note #1b) : */ #define  NET_TCP_CONN_TIMEOUT_MAX_SEG_MIN_SEC   (  0u                           )   /* ... min  =  0 seconds            */ #define  NET_TCP_CONN_TIMEOUT_MAX_SEG_MAX_SEC   (  2u * DEF_TIME_NBR_SEC_PER_MIN)   /* ... max  =  2 minutes            */ #define  NET_TCP_CONN_TIMEOUT_MAX_SEG_DFLT_SEC  ( 15u                           )   /* ... dflt = 15 seconds            */ #define  NET_TCP_CONN_TIMEOUT_MAX_SEG_SCALAR       2u                               /* ... scalar (see Note #1a).       */ #define  NET_TCP_CONN_TIMEOUT_CONN_DFLT_SEC     (120u * DEF_TIME_NBR_SEC_PER_MIN)   /* Dflt conn timeout = 120 minutes  */ #define  NET_TCP_CONN_TIMEOUT_USER_DFLT_SEC     ( 30u * DEF_TIME_NBR_SEC_PER_MIN)   /* Dflt user timeout =  30 minutes  */ /*$PAGE*/ /* ********************************************************************************************************* *                                        TCP CONNECTION STATES * * Note(s) : (1) See the following RFC's for TCP state machine summary : * *               (a) RFC # 793; Sections 3.2, 3.4, 3.5, 3.9 *               (b) RFC #1122; Sections 4.2.2.8, 4.2.2.10, 4.2.2.11, 4.2.2.13, 4.2.2.18, 4.2.2.20 * *           (2) (a) #### Additional closing-data-available state used for closing connections to allow the *                   application layer to receive any remaining data. * *                   See also 'net_tcp.c  NetTCP_RxPktConnHandlerFinWait1()  Note #2f5A2', *                            'net_tcp.c  NetTCP_RxPktConnHandlerFinWait2()  Note #2f5B', *                            'net_tcp.c  NetTCP_RxPktConnHandlerClosing()   Note #2d2B2a1B', *                          & 'net_tcp.c  NetTCP_RxPktConnHandlerLastAck()   Note #2d2A1b'. ********************************************************************************************************* */ #define  NET_TCP_CONN_STATE_NONE                           0u #define  NET_TCP_CONN_STATE_FREE                           1u #define  NET_TCP_CONN_STATE_CLOSED                        10u #define  NET_TCP_CONN_STATE_LISTEN                        20u #define  NET_TCP_CONN_STATE_SYNC_RXD                      30u #define  NET_TCP_CONN_STATE_SYNC_RXD_PASSIVE              31u #define  NET_TCP_CONN_STATE_SYNC_RXD_ACTIVE               32u #define  NET_TCP_CONN_STATE_SYNC_TXD                      35u #define  NET_TCP_CONN_STATE_CONN                          40u #define  NET_TCP_CONN_STATE_FIN_WAIT_1                    50u #define  NET_TCP_CONN_STATE_FIN_WAIT_2                    51u #define  NET_TCP_CONN_STATE_CLOSING                       52u #define  NET_TCP_CONN_STATE_TIME_WAIT                     53u #define  NET_TCP_CONN_STATE_CLOSE_WAIT                    55u #define  NET_TCP_CONN_STATE_LAST_ACK                      56u #define  NET_TCP_CONN_STATE_CLOSING_DATA_AVAIL            59u   /* See Note #2a.                                        */ /* ********************************************************************************************************* *                                     TCP CONNECTION QUEUE STATES ********************************************************************************************************* */ #define  NET_TCP_RX_Q_STATE_NONE                           0u #define  NET_TCP_RX_Q_STATE_CLOSED                       100u #define  NET_TCP_RX_Q_STATE_CLOSING                      101u #define  NET_TCP_RX_Q_STATE_SYNC                         110u #define  NET_TCP_RX_Q_STATE_CONN                         111u #define  NET_TCP_TX_Q_STATE_NONE                           0u #define  NET_TCP_TX_Q_STATE_CLOSED                       200u #define  NET_TCP_TX_Q_STATE_CLOSING                      201u #define  NET_TCP_TX_Q_STATE_SYNC                         210u #define  NET_TCP_TX_Q_STATE_CONN                         211u #define  NET_TCP_TX_Q_STATE_SUSPEND                      215u #define  NET_TCP_TX_Q_STATE_CLOSED_SUSPEND               220u #define  NET_TCP_TX_Q_STATE_CLOSING_SUSPEND              221u /*$PAGE*/ /* ********************************************************************************************************* *                                     TCP CONNECTION CODE DEFINES **************

    标签: tcp uCOS-II

    上传时间: 2015-11-22

    上传用户:the same kong

  • 常用芯片DIP SOT SOIC QFP电阻电容二极管等3D模型库 3D视图封装库 STEP后缀三维

    常用芯片DIP SOT SOIC QFP电阻电容二极管等3D模型库 3D视图封装库 STEP后缀三维视图(154个):050-9.STEP0805R.STEP1001-1.STEP1001-2.STEP1001-3.STEP1001-4.STEP1001-5.STEP1001-6.STEP1001-7.STEP1001-8.STEP103_1KV.STEP10X5JT.STEP1206R.STEP13PX2.STEP15PX2.STEP20P插针.STEP25V1000UF.STEP3296W.STEP35V2200UF.STEP3mmLED.STEP3mmLEDH.STEP3X3可调电阻.STEP400V0.1UF.STEP455.STEP630V0.1UF.STEP7805.STEP8P4R.STEPAXIAL-0.2-0.125W.STEPAXIAL-0.4-0.25W.STEPaxial-0.6-2W.STEPB-3528.STEPC-0805.STEPC06x18.STEPCAP-6032.STEPCH3.96 X2.STEPCH3.96-3P.STEPD-PAK.STEPDB25.STEPDC-30.STEPDIP14.STEPDIP16.STEPDIP6.STEPDIP8.STEPDO-214AA.STEPDO-214AB.STEPDO-214AC.STEPDO-41.STEPDO-41Z.STEPFMQ.STEPGNR14D.STEPH9700.STEPILI4981.STEPIN4007.STEPIN5408.STEPJP051-6P6C_02.STEPJQC-3F.STEPJS-1132-10.STEPJS-1132-11.STEPJS-1132-12.STEPJS-1132-13.STEPJS-1132-14.STEPJS-1132-15.STEPJS-1132-2.STEPJS-1132-3.STEPJS-1132-4.STEPJS-1132-5.STEPJS-1132-6.STEPJS-1132-7.STEPJS-1132-8.STEPJS-1132-9.STEPJS-1132R-2.STEPJS-1132R-3.STEPJS-1132R-4.STEPJS-1132R-5.STEPJS-1132R-6.STEPJS-1132R-7.STEPJS-1132R-8.STEPJZC-33F.STEPKBP210.STEPKE2108.STEPKF2510 X8.STEPKF301.STEPKF301x3.STEPKSD-9700.STEPLED5_BLUE.STEPLED5_GRE.STEPLED5_RED.STEPLED5_YEL.STEPLFCSP_WQ.STEPLQFP100.STEPLQFP48.STEPMC-146.STEPmolex-22-27-2021.STEPmolex-22-27-2031.STEPmolex-22-27-2041.STEPmolex-22-27-2051.STEPmolex-22-27-2061.STEPmolex-22-27-2071.STEPmolex-22-27-2081.STEPMSOP10.STEPMSOP8.STEPPA0630NOXOX-HA1.STEPPIN10.STEPPIN24.STEPPIN24A.STEPR 0805.STEPR0402.STEPR0603.STEPR0805.STEPR1206.STEPRA-15.STEPRA-20.STEPRS808.STEPSIP-3-3.96 22-27-2031.STEPSL-B.STEPSL-D.STEPSL-E.STEPSL-G.STEPSL-H.STEPSOD-123.STEPSOD-323.STEPSOD-523.STEPSOD-723.STEPSOD-80.STEPSOIC-8.STEPSOP-4.STEPSOP14.STEPSOP16.STEPSOP18.STEPSOT-89.STEPSOT223.STEPSOT23-3.STEPSOT23-5.STEPSSOP28.STEPTAJ-A.STEPTAJ-B.STEPTAJ-C.STEPTAJ-D.STEPTAJ-E.STEPTAJ-R.STEPTHB6064H.STEPTO-126.STEPTO-126X.STEPTO-220.STEPTO-247.STEPTO-252-3L.STEPTOSHIBA_11-4C1.STEPTSSOP-8.STEPTSSOP14-BOTTON.STEPTSSOP14.STEPTSSOP28.STEPUSB-A.STEPUSB-B.STEPWT.STEP

    标签: 芯片 dip sot soic qfp 电阻 电容 二极管 封装

    上传时间: 2021-11-21

    上传用户:XuVshu

  • LWIP的底层结构

    Lwip协议栈的实现目的,无非是要上层用来实现app的socket编程。好,我们就从socket开始。为了兼容性,lwip的socket应该也是提供标准的socket接口函数,恩,没错,在src\inc lude\lwip\socket.h文件中可以看到下面的宏定义:#if LWIP COMPAT SOCKETS#define accept(a,b,c)Iwip accept(a,b,c)#define bind(a,b,c)Iwip bind(a,b,c)#define shutdown(a,b)Iwip shutdown(a,b)#define closesocket(s)Iwip close(s)好,这个结构先不管它,接着看下get socket函数的实现【也是在src\api\socket.c文件中】,在这里我们看到这样一条语句sock =&sockets[s];很明显,返回值也是这个sock它是根据传进来的序列号在sockets数组中找到对应的元素并返回该元素的地址。好了,那么这个sockets数组是在哪里被赋值了这些元素的呢?进行到这里似乎应该从标准的socket编程的开始,也就是socket函数讲起,那我们就顺便看一下。它对应的实际实现是下面这个函数Int Iwip socket(int domain,int type,int protocol)【src\api\socket.c】这个函数根据不同的协议类型,也就是函数中的type参数,创建了一个netconn结构体的指针,接着就是用这个指针作为参数调用了alloc socket函数,下面具体看下这个函数的实现

    标签: lwip 底层结构

    上传时间: 2022-06-19

    上传用户:aben