自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

牛仔的blog

朋友,随缘。事业,随性。命运,冷漠。

  • 博客(83)
  • 资源 (4)
  • 收藏
  • 关注

原创 linux定时中断的三种实现

前言本文主要讲述linux应用层三种定时中断实现的方法。我们可以利用定时中断在linux应用层实现一些对时间频率要求不是很高的驱动,虽然有些不规范,但是也是有其适用的场合的。因为应用层不涉及到硬件,不同平台可移植性更高。 本文涉及到的内容有:多线程间信号的处理三种定时中断的实现测试结果与讨论一、多线程间信号的处理我们先下两个结论,并在后面的测试程序中给出证明。结论一...

2018-08-04 22:25:46 10146 1

原创 linux字节序大小端转化程序

一、前因在项目开发遇到一个问题:读取flash的所有数据到文件,然后用烧录器去烧写到新的flash,烧录后机子起不来。后面发现是从flash读出的数据需要经过字节序转换之后才能用烧录器烧录。于是,自己便写了一个转换的程序。并不是所有从flash读出的数据都需要转换的,是否需要转换取决于开发板数据存放方式和烧录器对数据的处理这两个因素。二、字节序概述字节序是指多字节数据在计算机内存中...

2018-07-29 16:06:35 5049

原创 wolfssl移植替换openssl

本文的核心是讲怎么把项目中的openssl库替换成wolfssl库,并且尽可能的少改工程代码。一、为什么选择wolfssl替换已有的openssl库wolfssl比较小。 要从工程中移除openssl的最主要的一个原因是openssl太大了。在嵌入式工程中,为了实现一个小的功能,引用了一个openssl,编译生成的固件太大了,flash装不下了。而wolfssl在满足基本需求的同...

2018-04-24 18:58:28 15919 4

原创 循环队列---实际项目的运用

此文主要记录IPC项目中如何运用循环队列来处理多则消息的。(网络摄像头以下简称IPC) 在项目中,经常会有网络消息处理。现在的安防摄像头很多,通常也会配套一个APP去控制IPC,比如设置移动检测、人脸识别、婴儿哭识别等等。在APP点击一个button,可能会触发APP通过网络发送几则消息给摄像头。这个时候,IPC需要处理这几则或者十几则消息。如果,IPC处理消息不是并发的,那么就需要不断接收...

2018-04-10 22:46:48 2477

原创 2018寄语---Don't stop thinking

记得大四那年,很多同学开始认真摸索将来要走的路。当时听过这么一句话,“将来做什么不重要,重要的是要有想法”。有想法代表着有打算,对自己未来有一个良好的规划。现在,我觉得,经常思考,是有想法的前提。而写博客的过程中,会让人不由自主的去思考。思考会给我精神力量,让人变得强大,内心变得踏实。所以,每当独处的时候,我会静静发呆,任凭思绪在空中飘荡。有时候,有点想法,就写作记录下来。我时常会想,人的这一生究

2018-01-22 11:54:00 2174

原创 http服务器实现(四)

前言前面3篇博文实现了http服务器的框架、http报文处理以及动态页面和静态页面的GET请求。本文基于 http服务器实现(三)增加了对post请求的处理 。同时对浏览器到服务器之间的交互机制进行总结。 涉及到的内容有:什么是post请求post请求实现浏览器和服务器如何交互关于源码的说明一、什么是post请求GET一般用于获取/查询网站资源信息,而POST一般用于更

2018-01-05 21:11:41 5839 1

原创 http服务器实现(三)

前言本文基于http服务器实现(二)来完成一个能处理http静态页面和动态页面请求的web服务器。 涉及到的内容有:CGI 理解程序中注意的坑提醒源码中对get请求的分析用火狐浏览器测试未解决的问题服务器程序全部源码http服务器实现(一)讲的是http服务器软件整体的架构,http服务器实现(二)主要讲的是http报文解析部分,这一节紧随前面的步骤实现一个小型的http服务器。服务

2018-01-04 15:29:37 5021 2

原创 http服务器实现(二)

前言本文基于http服务器实现(一)来完成http报文解析部分。 涉及到的内容有:http协议格式状态机变迁字符串解析服务器源码客户端源码和测试结果一、http协议这一节的重点是解析http报文,那么首先我们必须知道http协议格式。针对协议字段,本节程序并不涉及到每个字段的含义,只是简单的把这些字段分隔开来,后续需要深入理解这些字段的含义才能进一步实现服务器的处理流程。这里简单介绍h

2017-12-29 16:35:50 9671

原创 http服务器实现(一)

前言在实践的过程中,我发现,协议理解的深浅,阅读协议文档 < 看协议实现源码 < 自己实现协议的代码。 深入学习http服务器,这是本文的目的,而不是实现一个真正可用的http服务器。毕竟实现一个成熟可用http服务器的难度很大。软件都经历过很多版本的迭代,在不断测试、bug调试和完善功能的过程中,最终才变得成熟可用的。像BAT等大公司听说也是用现有的成熟框架来裁剪开发服务器的。本文参考的源码有b

2017-12-28 12:01:30 5833

原创 二十四重人格---你的心里存在着谁?

已崩坏的我 干脆停止呼吸吧 无法放开 已经无法放开真实 能够破坏 破坏不了 能够发狂 无法发狂 过去天真笑着的记忆 此刻却刺痛了我 回不去了 告诉我 告诉我吧 我的身体里有谁存在吗 —-《东京食尸鬼》童年家庭的乱伦性虐待使得一个人24重人格分离,在黑暗和痛苦中挣扎,在历经万千苦难之后,攻读心理学博士,写下了这本书。这个世界还有多少人正在备受煎熬。绝望,有谁真正感受到了~我只能

2017-12-27 17:35:42 3959

原创 linux原始套接字实战

本文的主线是一个使用原始套接字发送数据的程序,工作在数据链路层,采用自定义以太网帧协议,靠MAC地址识别目标主机。所以不涉及到IP地址和端口号。程序主要用于互联的两台机器之间进行丢帧率计算。以下部分都是围绕它而展开说明的。内容分为以下几部分:原始套接字概述原始套接字的创建自定义协议发送端程序流程、实现接收端程序的开发一、原始套接字概述先来看看socket函数原型:...

2017-12-22 16:04:05 3413

原创 TCP三次握手wireshark抓包分析

本文内容有以下三个部分:wireshark过滤规则osi模型简述tcp三次握手一、wireshark过滤规则wireshark只是一个抓包工具,用其他抓包工具同样能够分析tcp三次握手协议。以下这张图片完整地展现了wireshark的面板。使用好wireshark一个关键是如何从抓到的众多的包中找到我们想要的那一个。这里就要说filter过滤规则了。如上图,在过滤器方框,我们加上了ip.sr

2017-12-19 17:32:50 73325 14

原创 linux守护进程

一、守护进程定义守护进程(daemon)是生存期长的一种进程。它们常常在系统引导装入时启动,仅在系统关闭时才终止。因为它们没有控制终端,所以说它们是在后台运行的。 在linux终端中,我们可以用ps -axj 命令来查看系统的守护进程。选项-a显示由其他用户所拥有的进程的状态,-x显示没有控制终端的进程状态,-j显示与作业有关的信息。在接下来的例子中,通过这个命令可以来查看我们的守护进程是否启动了

2017-12-17 11:40:37 2953

原创 知道了很多道理,仍然过不好这一生

伴随着夜的钢琴曲,写下了这篇文章。 2017年也即将终结了。从小学、初中、高中、大学到现在工作两年半,生命历经了林林总总。知道得越多,越明白自身的局限。小时候想仗剑走江湖,阅尽世间种种,对酒当歌,当一名逍遥自在的大侠。后来,成熟一点,觉得大侠当不了,至少长大后也是科学家或是企业家,左手能够搅动风云,右手能够影响人类。慢慢地,在高强度的高中学习生活中,经历了无数比自己厉害的人之后,依然留存着无论现在

2017-12-15 16:31:24 4183 3

原创 Proxy Server源码及分析

本文主要讲代理服务器源码,是一位叫Carl Harris大神写的,非常简单易懂,把代理服务器(Proxy Server)本质完全体现出来。相信读懂了这段代码,以后想搞定http代理等其他类型的代理服务器也能行。在附录中会贴出proxy全部源码,仅供学习使用。一、代理服务器的定义代理服务器(Proxy Server)是一种重要的服务器安全功能,它的工作主要在开放系统互联(OSI)模型的会话层,从而起到

2017-12-14 18:39:24 6414

原创 虚拟机安装ubuntu server及工作环境搭建

本文教你从零搭建起linux工作环境。工作需要,刚好需要重新搭建linux工作环境来进行gcc编译代码,所以有了这份图文教程。 文章内容分为以下五部分:使用VMware® Workstation 14 Pro虚拟机安装ubuntu-14.04.5-server-amd64.iso通过ssh协议使用SecureCRT远程登录主机配置管理员root用户配置samba服务器,实现win7和lin

2017-12-14 15:56:53 9643

原创 TCP网络编程之chat聊天室

这一节我们再讲一个tcp长连接的例子,实现网络聊天室的基本功能。 聊天室的基本原理:采用Client/Server TCP架构,客户端发送消息给服务器,服务器再把消息转发给所有的客户端。一、需求分析聊天室功能清单,总结的很好,来自博客: http://blog.csdn.net/ccj2020/article/details/7838910 一个在Linux下可以使用的聊天软件,要求至少实现如

2017-12-06 16:28:32 4695

原创 TCP网络编程之echo回射程序

TCP网络编程有三个例子最值得学习研究,分别是echo、chat、proxy,都是长连接协议。接下来,把这几个例子都实现。本节用一个简单的例子来讲TCP客户/服务器程序框架,这也是echo的实现。 程序的基本流程:客户从标准输入键入一行文本,并发送给服务器。服务器接收到文本之后回射给客户端。客户端接收到服务器的文本,把它显示到标准输出上。尽管下列实现代码很简单,但是它已经阐述了基本的tcp

2017-12-06 16:01:03 4044

原创 ubuntu git环境搭建和使用

本文记录了linux下git环境如何快速搭建和使用。一、在ubuntu 安装git软件安装方法有多种,这里用ubuntu 命令行安装gitsudo apt-get install git二、生成ssh密钥对终端执行命令:ssh-keygen -t rsa -C "[email protected]"然后3次回车,最终看到一个方框,如下图。这时已经在/home/ubuntu/.ssh/ 目录下生成公钥id_rsa

2017-12-04 14:54:44 6466 1

转载 【SecureCRT】SecureCRT 绝佳配色方案, 保护你的眼睛

关键词:SecureCRT配色, SecureCRT设置颜色, Linux终端颜色设置.终端有一个好的配色,不仅能保护自己的眼睛,也能给人一个好心情,本配色方案适合任意一种SSH客户端软件.设置背景颜色Options => Sessions options => Terminal => Emulation,在 Terminal下拉列表下选择 Xterm 或者 Linux,勾选 A

2017-12-02 20:29:10 6347

原创 一种破解加密软件的方法

一种破解加密软件的方法

2017-09-07 16:01:10 9081 1

转载 TR-069 协议完整的通信过程

TR-069协议完整的通信过程 以下为设备重启到挂上TR069网管的报文流程解析(1) 设备启动;根据配置的ACS(自动配置服务器)地址,建立安全的HTTP连接以后,每次连接CPE都必须首先对ACS发出一个Inform的RPC调用请求来向ACS汇报本次连接的信息。ACS会返回给一个Inform response作为确认连接。标准的Inform方法的参数如表所示 参数名称 参数说明 D

2017-08-25 15:57:31 19453 3

转载 Android recovery UI实现分析

转自:http://blog.csdn.net/u010223349/article/details/40392789Android recovery模式为何物?关于这个问题, baidu上已经有无数的答案,不理解的朋友先补习一下。从纯技术角度来讲, recovery和android本质上是两个独立的rootfs,  只是recovery这个rootfs存在的意义就是为android这个rootf

2017-08-25 15:44:39 2934

转载 Git管理多个SSH密钥,Git多帐号配置

版权声明:转载必须注明本文转自严振杰的博客:http://blog.yanzhenjie.com首先这篇文章适用于Windows和Linux的配置,本人没有条件去验证Mac,所以不确定是否可以,不过和linux一样属于Unix系统,应该理论上都是可以的,如果有人实验了可以给我个反馈。这段时间在Ubuntu上做开发,又一次发现命令是真好用,加上这段时间把服务器从Windows迁到CentOS,也渐渐

2017-08-25 15:41:15 2700

转载 GithubPages教程 在GithubPages上搭建个人主页

GithubPages教程 在GithubPages上搭建个人主页 版权声明:转载请注明本文转自严振杰的博客: http://blog.csdn.net/yanzhenjie1003  对我的博客感情趣的同学可以加我博客左侧的群来一起交流学习,共同进步。本篇博客公有三个目的,同样也会举三个实际操作的例子来和大家一起玩Github pages。  第一个目的,有的开发者平常会做自己的网站,大部分

2017-08-24 18:15:33 2757

转载 JS脚本实现浏览器自动点击(阿里员工秒杀月饼)

转自:http://blog.csdn.net/ani521smile/article/details/52575063 <!DOCTYPE HTML><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>

2017-08-24 11:07:15 6070 1

转载 微信小程序资源整理

开发文档开发文档 微信公众平台 · 小程序文档 微信公众平台 | 小程序小程序介绍小程序设计小程序开发 - 简易教程· 小程序小程序运营简易教程· 小程序(非官方) | 项目地址微信小程序设计指南微信小程序平台运营规范WeUI 微信官方设计团队为微信Web开发量身设计基础样式库 | 项目地址 | wikiw3cschool | 微信小程序开发教程手册文档其他文档 腾讯云带

2017-08-24 10:30:51 3823

转载 微信小程序详解

准备Demo 项目地址https://github.com/zce/weapp-demoClone or Download(需准备GIT环境)$ cd path/to/project/root$ git clone https://github.com/zce/weapp-demo.git project-name --depth 1$ cd project-name没有Git环境,可以直接下载

2017-08-24 10:22:12 2836

原创 《史蒂夫·乔布斯传》感悟

当你长大了,总有人对你说 这个世界有它的规则 你的人生也是在这个世界上度过的 别老想着去打破规则 不过 这样的人生太局限了 人生可以更加宽广 只要你能领悟一个简单的道理 那就是你身边的一切 所谓生活的东西 都是一些不如你聪明的人制造出来的 你可以改变它 你可以影响它 你可以自己创造出对别人有用的东西 一旦你跳出那个“生活不可改变,你只能去适应”的荒谬观点,转而拥抱它 改变它

2017-08-23 22:19:25 3394

原创 10秒转载csdn文章

以chrom浏览器为例。1. 打开想要转载的博客页面,按下键盘 F12 按键,然后点击下图左上角箭头,如下图:2. 找到正文位置,点击正文开始的位置,如下图红色方框所示:3. 此时 html 元素会自动跳到相对应的位置,我们在下图红色方框找到了article_content这一行,然后点击右键,复制为html。4. 然后打开 csdn写博客,用Markdown编辑工具,直接粘贴。可以保存到草稿箱看看

2017-08-23 16:46:03 2545

转载 Android Service完全解析,关于服务你所需知道的一切(下)

转载出处:http://blog.csdn.net/guolin_blog/article/details/9797169在上一篇文章中,我们学习了Android Service相关的许多重要内容,包括Service的基本用法、Service和Activity进行通信、Service的销毁方式、Service与Thread的关系、以及如何创建前台Service。以上所提到的这些知识点,基本上涵盖了大

2017-08-23 16:12:55 2517

转载 Android Service完全解析,关于服务你所需知道的一切(上)

转载出处:http://blog.csdn.net/guolin_blog/article/details/11952435相信大多数朋友对Service这个名词都不会陌生,没错,一个老练的Android程序员如果连Service都没听说过的话,那确实也太逊了。Service作为android四大组件之一,在每一个应用程序中都扮演着非常重要的角色。它主要用于在后台处理一些耗时的逻辑,或者去执行某些需

2017-08-23 16:08:22 2658

原创 linux字符设备DS18B20驱动源码

DS18B20是常用的数字温度传感器,经常用单片机来控制,本文基于arm11芯片来实现ds18b20驱动,系统是linux。 驱动是大学的时候实现的,里面主要涉及到寄存器的读写和ds18b20时序操作。需要参考arm11的芯片手册和ds18b20的芯片手册。想想都好多年没碰过驱动了。驱动是linux系统必不可少的一环,了解驱动流程开发也是对整个系统能更加深刻理解。

2017-08-20 13:05:38 3108

原创 win7文件内容被意外修改后怎么恢复?

今天,notepad++抽风,突然崩溃,重启,保存的文件内容全部被删除了。是的,一份记录了几个月的文件大小就这样变成了 0KB 了。不怕,哥们几年前有过整个硬盘被格式化的经历,这点痛算神马?于是,保护第一现场,争取资源不被新的数据破坏。Windows所谓的“删除”实际上只是文件名标记为空闲状态,当下次有新数据写入的时候,有可能覆盖这些原始的数据。因此,只要不保存新的数据,被“删除”文件数据实际上仍旧

2017-08-20 00:11:27 6616

原创 linux IPC---记录上锁

本节讲述的是利用fcntl函数来实现不同进程间的上锁,不管这些进程有没有亲缘关系。前面讲述过有名信号量同样也是可以用在没有亲缘关系的进程间上锁的。而针对线程上锁的一些机制,想要用在不同进程间上锁,就需要把锁放在进程共享内存区操作。记录上锁主要是用到fcntl 函数。fcntl 函数#include<unistd.h> #include<fcntl.h> int fcntl(int fd, i

2017-08-19 16:40:27 2573

原创 linux IPC --- 有名信号量详解

在之前的博客中linux信号量—互斥与同步谈到无名信号量。无名信号量主要用于线程间的通信,保存在内存中,如果想要在进程间同步就必须把无名信号量放在进程间的共享内存中。而在进程间的通信中同步用的通常是有名信号量。有名信号量一般保存在/dev/shm/ 目录下。像文件一样存储在文件系统中。 无名信号量的操作主要涉及到以下六个函数:sem_init 用于创建一个信号量,并能初始化它的值。sem

2017-08-18 21:16:10 8274 1

原创 linux IPC---消息队列

消息队列就是一个消息的链表。可以把消息看作一个记录,具有特定的格式以及特定的优先级。对消息队列有写权限的进程可以向消息队列中按照一定的规则添加新消息;对消息队列有读权限的进程则可以从消息队列中读走消息。消息队列是随内核持续的,只有内核重启或人工删除时,该消息队列才会被删除。 对于系统中的每个消息队列,内核维护一个定义在 sys/msg.h 头文件中的信息结构。struct msqid_ds {

2017-08-17 15:57:05 3034

原创 linux IPC---共享内存

共享内存共享内存是允许两个或多个进程共享同一块内存区域,因为进程可以直接读写内存,不需要任何数据的拷贝,这是一种最快的进程间通信方式。共享内存是多进程之间的通信方法 ,这种方法通常用于一个程序的多进程间通信,实际上多个程序间也可以通过共享内存来传递信息。当然,多个进程同时访问共享区就得需要一些同步机制,如信号量或互斥锁等,这些以后再记录,本文先讲最简单的共享内存使用方式。linux共享内存操作的四个

2017-08-16 20:55:29 2692

原创 linux 标准流管道 popen 源码理解

标准流管道popen、pclose函数说明:#include <stdio.h>FILE *popen(const char *command, const char *type)返回值:若成功,返回文件流指针;若出错,返回-1 参数说明:Command:指向的是一个以 null 结束符结尾的字符串,这个字符串包含一个 shell 命令,并被送到/bin/sh 以-c 参数执行,即由 shel

2017-08-15 20:35:16 8816 3

原创 linux 无名管道和有名管道fifo

无名管道简介:管道是半双工的,数据只能向一个方向流动,需要双方通信时,需要建立起两个管道。管道只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程):管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,并且只存在于内存中。管道的读写规则:fifo先进先出规则,写入的内容每次都添加在管道缓冲区的末尾,并且每次都是从缓冲区的头部读出数据。无名管道相关函数说明:#include <unistd.

2017-08-15 20:23:24 2953

boa服务器源码

BOA 服务器是一个小巧高效的web服务器,是一个运行于unix或linux下的,支持CGI的、适合于嵌入式系统的单任务的http服务器,源代码开放、性能高。

2017-12-28

burpsuite专业破解版

专业破解版,永久使用,亲测可用 Burp Suite 是用于攻击web 应用程序的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。 所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架。

2017-12-21

TCP/IP详解3卷合一高清带目录

TCP、IP网络协议知识查阅, 包含以下知识:链路层。也称数据链路层或网络接口层,包括设备驱动程序和网络接口卡,它们一起处理与电缆的物理接口细节。 网络层。处理分组在网络中的活动。 传输层。主要为两台主机上的应用程序提供端到端的通信。 应用层。

2017-10-22

嵌入式资料整合第二辑

嵌入式资料整合第二辑

2015-09-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除