了解HTTP协议栈(实践篇)】的更多相关文章

关于http协议的理论知识,我在这里就不详细说明了,具体下面给出的链接有.接下来都是用具体的操作显示的,各位可以结合起来看. 一.使用nc打开端口,并使用浏览器进行访问 (对应文章中的HTTP协议详解之请求篇) nc - #使用nc打开本地的8888端口 使用浏览器,在地址栏上输入http://localhost:8888 进行访问(提出请求),此时nc界面上就会有得到一个请求的HTTP协议,具体的请求信息如下: GET / HTTP/1.1 Host: localhost: Connectio…
今儿个是冬至,所谓“冬大过年”,公司也应景五点钟就放大伙儿回家吃饺子喝羊肉汤了,而我本着极高的职业素养依然坚持留在公司(实则因为没饺子吃没羊肉汤喝,只能呆公司吃食堂……).趁着这一个多小时的时间,想跟大家介绍下前段时间整的一个基于netty http协议栈的轻量级流程控制组件 nettice(点此查看代码),目前已经实现了一些功能并将持续完善,希望能为大伙儿切实解决一点开发问题(或者至少提供一些思路). 什么是流程控制组件? 服务的流程,简单来说就是在一次交互过程中,对 client 端而言,是…
  一.说在前面的话 前段时间,工作上需要做一个针对视频质量的统计分析系统,各端(PC端.移动端和 WEB端)将视频质量数据放在一个 HTTP 请求中上报到服务器,服务器对数据进行解析.分拣后从不同的维度做实时和离线分析.(ps:这种活儿本该由统计部门去做的,但由于各种原因落在了我头上,具体原因略过不讲……) 先用个“概念图”来描绘下整个系统的架构: 嗯,这个是真正的“概念图”,因为我已经把大部分细节都屏蔽了,别笑,因为本文的重点只是整个架构中的一小部分,就是上图中红框内的 http serve…
孟繁琛 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程 http://mooc.study.163.com/course/USTC-1000002006 软件工程(C编码实践篇)是由中科大孟宁老师在网易云课堂上发布的一门关于学习软件工程开发思想的实践性课程,整门课程循序渐进的从一个helloworld小程序做到一个线程安全并且可重用的menu菜单系统.课程主要通过网课加实验楼实验的方式进行,课程讲解内容轻松又不失严谨性,实验简单却又极具代表性.总之,整门课程基于一个m…
协议,是双方都提前商量好的通讯约定. 例如:发送1代表灯亮,发送0代表灯灭. 但由于只是单bit的0和1在通信时,抗干扰太弱,且多种控制时不能区分,此时扩展一下协议. 例如:  头      地址     功能    数据    校验 0x33   0x01   0x0A   0x01   0xxx 这样一条比较完整的协议就构建成功. 协议栈:按照各层(数据链路层.应用层)之间的协议,把数据经过各种加工处理(添加各种包头.包尾),形象的反应出数据的处理.传输的过程. 协议是定的标准,协议栈是各层…
OSI参考模型 OSI RM:开放系统互连参考模型(open systeminterconnection reference model) OSI参考模型具有以下优点: 简化了相关的网络操作: 提供设备间的兼容性和标准接口: 促进标准化工作: 结构上可以分隔: 易于实现和维护. 20世纪60年代以来,计算机网络得到了飞速增长.各大厂商为了在数据通信网络领域占据主导地    位,纷纷推出了各自的网络架构体系和标准,如IBM公司的SNA,Novell IPX/SPX协议,Apple公司的AppleT…
说在前面:上一篇介绍了无线LED闪烁实现的OSAL部分,本篇介绍如何实现无线数据收发及数据处理: 上一篇是用SI跟着流程查看源码,我个人认为以架构的思维去了解代码能让人更清晰 ::ZMain.c程序入口文件 这里chipcon_cstartup.s51是汇编的启动文件,ZMain.c相当于main文件,里面有main函数: int main( void ) { osal_int_disable( INTS_ALL );// Turn off interrupts 关中断 HAL_BOARD_IN…
1.由浅入深,蓝牙4.0/BLE协议栈开发攻略大全(1) 2.由浅入深,蓝牙4.0/BLE协议栈开发攻略大全(2) 3.由浅入深,蓝牙4.0/BLE协议栈开发攻略大全(3)…
一.前言 经过上次的学习,相信大家已经初步学会使用zigbee协议进行发送和接受数据了.今天,我们要进行的实验是按键的实验,学会如何在协议栈里实现按键中断. 二.实验功能 在协议栈上实现按键中断,BUT1 按下,LED1 闪烁两次. 三.代码讲解 大家还记得,前面做过的按键实验是怎么配置的吗,其实基于zigbee的协议栈原理是差不多的,我们要对按键的接口和状态是差不多,TI已经为我们建立了专用的按键配置的代码文件,我们只要在此基础上修改就行了.先打开hel_key.c进行修改,下面是代码 #de…
一.前言 上次实验,我们介绍了zigbee原理的应用与使用,进行了基于zigbee的串口发送协议,但是上个实验并没有实现数据的收发.在这个实验中,我们要进行zigbee的接受和发送实验. 二.实验功能 协调器以3 秒为周期(周期性广播),向终端节点发送一个数组数据0123456789,协调器接收到数据后,通过串口让电脑显示接收到的数据. 三.代码分析 本实验是一个周期性广播实验,故有终端节点,协调器之分.先给大家介绍一下什么是协调器和终端节点.协调器在整个zigbee网络中只能有一个,相当于网络…
一.前言 这次实验我们来学习基于zigbee的串口通信实验,揭开zigbee神秘的面纱,让大家可以用zigbee协议编制属于自己的程序,这次实验只是串口发送数据,并没有进行无线的数据传输,为的是使大家熟悉zigbee协议栈工作的流程,复杂的实验以后会进行,循序渐进嘛. 二.代码讲解 大家还记得裸机实验里怎么使用串口功能的吗?我们裸机使用串口功能的步骤是: (1) 串口初始化:    (2) 执行任务(发送/接收). 其实,跟裸机实验里的串口实验一样,本实验也是按照同样的步骤来进行的,第(1)步不…
陆伟丹 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程http://mooc.study.163.com/course/USTC-1000002006 对软件工程的理解及学习软件工程(C编码实践篇)的心得: 我理解的软件工程,就是要用工程化的思想去写软件.即"软件的工程",这和现实中的建筑工程等等的相类似,需要系统化工程化的方法,是一个在不断搭建的工程.和我们平时写小的Demo不同,当我们面对一个大的项目的时候,我们要考虑的不只是让代码跑起来,还需…
林牧 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程http://mooc.study.163.com/course/USTC-1000002006 软件工程的理解:       软件工程是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科.它涉及到程序设计语言.数据库.软件开发工具.系统平台.标准.设计模式等方面.在现代社会中,软件应用于多个方面.典型的软件有电子邮件.嵌入式系统.人机界面.办公套件.操作系统.编译器.数据库.游戏等.同时,各个行业几乎…
基于Netty的私有协议栈的开发 书是人类进步的阶梯,每读一本书都使自己得以提升,以前看书都是看了就看了,当时感觉受益匪浅,时间一长就又还回到书本了!所以说,好记性不如烂笔头,以后每次看完一本书都写一些读后感,对于技术书则把对让自己醍醐灌顶的篇章记录下来,以便以后翻阅查看,也是记录自己学习的过程- _ -. OK!言归正传,最近由于公司需要做一个网关项目,需要用到基于TCP/IP私有协议接收数据,看完了<Netty权威指南>这本书,感觉作者写的很好,有些地方让我获益良多,虽然书上有些例子跑不通…
如果只单纯比较UEFI引导和BIOS引导,那么毫无疑问UEFI引导要简单很多.不过现在的主板大都是同时兼容BIOS和UEFI引导方式,所以在实际操作前还需要确认一些东西.详见下文. 1.我的电脑支不支持UEFI启动? 要通过UEFI方式启动Windows7/8,电脑需要支持UEFI启动.预装Win8的电脑都支持UEFI启动.近两年的主板很多也都支持UEFI启动.开机出现品牌标识按F2(或者DEL.ESC等按键,不通品牌按键不通)进入BIOS/UEFI设置,在Boot项或类似项中查看有无EFI/U…
本文主要介绍WebRTC的架构和协议栈(我们翻译和整理的,译者:litie),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:blackerteam 或 webrtcorgcn). 为了便于理解,我们来看一个最基本的三角形WebRTC架构(见下图). 在这个架构中,移动电话用“浏览器M”表示,笔记本电脑用“浏览器L”表示,通过Web服务器将它们连接起来. 要建立一个实时媒体通讯,两台设备需要了解彼此的媒体功能,通过交换呼叫信令控制协议实现. 诸如…
现在的服务器支撑上百万个并发 TCP 连接已经不是新闻(余锋2010年的演讲,ideawu 的 iComet 开源项目,WhatsApp 做到了 2.5M).实现 C1000k 的常规做法是调整内核参数,提高文件数,降低每个连接的内存消耗(参考 ideawu 的博客). 在今年的 BSDCan2014 会议上, Patrick Kelsey 介绍了把 FreeBSD 9.x 的 TCP/IP 协议栈移植到了用户态(slides, github.com/pkelsey/libuinet),并用于…
前情回顾:一篇短短的博客明显不能满足TCP和UDP这两个饥渴的汉子,而且还被应用协议占了一小半的篇幅.在昨天结束之后,相信大家都基本对TCP/IP协议栈的轮廓有一个大概的印象了,能够对整体有所把握. 今天白天上班的时候完全抽不出时间来复习,配了一天的环境才把一个公司的项目跑起来.将近四个月的时间,实习以来我觉得配环境是最麻烦最恶心人的事儿了,没有之一.用的是Eclipse,其中还涉及maven什么的,没有了解过,只是按照文档一步一步去做,出现问题报了异常也不知道是什么原因该怎么解决.只好一点点去…
1.Zigbee协议栈简介 协议是一系列的通信标准,通信双方需要按照这一标准进行正常的数据发射和接收.协议栈是协议的具体实现形式,通俗讲协议栈就是协议和用户之间的一个接口,开发人员通过使用协议栈来使用这个协议,进而实现无线数据收发. 如图1所示:Zigbee协议分为两部分,IEEE 802.15.4定义了PHY(物理层)和MAC(介质访问层)技术规范:Zigbee联盟定义了NWK(网络层).APS(应用程序支持层).APL(应用层)技术规范.Zigbee协议栈就是将各个层定义的协议都集合在一起,…
在由ASP.NET所谓前台调用后台.后台调用前台想到HTTP——理论篇中描述了一下ASP.NET新手的三个问题及相关的HTTP协议内容,在由ASP.NET所谓前台调用后台.后台调用前台想到HTTP——实践篇(一)中已经解答了关于服务器怎么改变页面元素或“调用”JavaScript的问题,为了避免上篇啰啰嗦嗦一大推,这次直奔主题——ASP.NET前台如何调用后台方法 问题细化 所谓前台调用后台这种问题的提出无非是因为很多新手受了ASP.NET服务器端控件的“误导”,你不是说前台没有把JavaScr…
课程内容来自网易云课堂中科大孟宁老师的软件工程(C编码实践篇)课程. 课程页面 我觉得本门课程的设置非常科学,每一周课程都是基于上一周课程的进一步抽象,使得学习者能够循序渐进,逐渐加深对软件工程的理解. 1. 第一周:熟悉Linux实验环境:要求 实验一:写一个hello world小程序. 实验报告链接+git代码库链接 总结:hello world本身很容易,但是linux下工作方式和windows下完全不同,会给不熟悉linux的人带来不少问题.首先vi没有Windows下的IDE智能化,…
本系列文章总结 Linux 网络栈,包括: (1)Linux 网络协议栈总结 (2)非虚拟化Linux环境中的网络分段卸载技术 GSO/TSO/UFO/LRO/GRO (3)QEMU/KVM + VxLAN 环境下的 Segmentation Offloading 技术(发送端) (4)QEMU/KVM + VxLAN 环境下的 Segmentation Offloading 技术(接收端) 1. Linux 网络路径 1.1 发送端 1.1.1 应用层 (1) Socket 应用层的各种网络应…
最近阅读了tcp/ip详解卷2,总结一下整个发送过程和接收过程 sendmsg \/ sendit \/ sosend(这一步将数据从用户空间拷贝到内核空间,并且会在这一步判断发送缓存空间是否充足,是否需要等待缓存空间,循环发送) \/ tcp_usrreq(将上一步中整理好的数据添加到发送缓冲尾部) \/ tcp_output(可能会分片发送,这一步会申请新的内存来放置消息体,并未下一步的头部预留空间,避免再次申请新的内 存) \/ ip_output(这一步也会分片,在上一步的mbuf的基础…
Netty HTTP+XML协议栈开发 由于HTTP协议的通用性,很多异构系统间的通信交互采用HTTP协议,通过HTTP协议承载业务数据进行消息交互,例如非常流行的HTTP+XML或者RESTful+JSON. 场景设计 模拟一个简单的用户订购系统.客户端填写订单,通过HTTP客户端向服务端发送订购请求,请求消息放在HTTP消息体中,以XML承载,即采用HTTP+XML的方式进行通信.HTTP服务端接收到订购请求后,对订单请求进行修改,然后通过HTTP+XML的方式返回应答消息.双方采用HTTP…
作者:宋老师,华清远见嵌入式学院讲师. ZigBee的基本流程:由协调器的组网(创建PAN ID),终端设备和路由设备发现网络以及加入网络. 基本流程:main()->osal_init_system()->osalInitTasks()->ZDApp_Init(),进协议栈初始化函数ZDApp_Init(). 1.1 进入程序入口main(). ZMain.c中 C++ Code int main( void )         {                 // Turn of…
看源代码的时候,一般都是从整个代码的入口处开始,TI  BLE 协议栈源码也不例外.它的入口main()函数就是整个程序的入口,由系统上电时自动调用. 它主要做了以下几件事情: (一)底层硬件初始化配置 (二)创建任务并初始化任务配置 (三)检测并执行有效的任务事件 Main() 函数源码如下: 一:底层硬件初始化设置 75行,设置系统时钟,使能内存缓冲功能. 78行,关中断,刚启动时,系统运行不稳定,一般会首先关中断. 81行,硬件相关的I/O 口配置. 84行,初始化mcu 内部的flash…
进入函数netif_receive_skb()后,skb正式开始协议栈之旅.先上图,协议栈大致过程如下所示:跟OSI七层模型不同,linux根据包结构对网络进行分层.比如,arp头和ip头都是紧跟在以太网头后面的,所以在linux协议栈中arp和ip地位相同(如上图)但是在OSI七层模型中,arp属于链路层,ip属于网络层..... 这里就不死抠概念,我们就说arp,ip都属于第二层.下面是网络第二层的处理流程 一.相关数据结构内核处理网络第二层,有下面2个重要list_head变量 (文件li…
蓝牙协议栈里的操作系统叫做 OSAL(操作系统抽象层).它并非一个真正意义上的操作系统,它只是实现了操作系统的一些功能,如任务切换.内存管理. OSAL 产生的根源:基于蓝牙协议栈开发的产品,实际上是一个应用层的应用程序,而每个应用程序可以看成是一个任务,为了实现多个任务的切换.同步.互斥等,这时就需要一种机制来管理任务,而这种机制就是OSAL. 在BLE 4.0的协议栈中,任务被放在一个任务表里(我觉得任务和事件在此处应该是表达的一个意思),且每个任务对应这个任务的处理函数(用函数指针实现).…
TCP/IP协议栈概述 这篇文章虽然只是很粗浅的介绍了ISO/OSI 网络模型,但确实把握住了关键点,某种意义上,简单回顾一下就可以加深对TCP/IP协议栈的理解. 原作者:阮一峰 链接: http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html http://www.ruanyifeng.com/blog/2012/06/internet_protocol_suite_part_ii.html 一.概述…
http://m.blog.csdn.net/blog/dog250/18959371 前几天有人回复我的一篇文章问,为何TCP/IP协议栈设计成沙漏型的.这个问题问得好!我先不谈为何它如此设计,我一个80后根本就没有资格去评论上世纪80年代已经臻于成熟的一个设计,我只是说一下目前的趋势,然后你就会明白当初的这个设计是如此之好,以至于它不但满足了30年前的需求,并且适配到了现在以至于未来! 总体趋势:通信网的退化 网络在退化,我指的是IP网络在退化,所有的逻辑全部在纵向上挤向两端,上端管协议逻辑…