自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (5)
  • 收藏
  • 关注

原创 memcached分析之网络模型

memcache源码分析之网络模型1.memcached使用libevent作为进行事件监听;2.memcached往管道里面写的内容不是fd,而是一个简单的字符。每一个worker线程都维护一个CQ队列,主线程把fd和一些信息写入一个CQ_ITEM里面,然后主线程往worker线程的CQ队列里面push这个CQ_ITEM。接着主线程使用管道通知worker线程:“我已经发了一个新客户给你,你去处理吧”

2015-12-29 10:19:21 495

原创 Cookie,Session验证机制

cookie可分为两类:会话cookie和持久cookie 会话cookie是一种临时cookie,在用户退出浏览器时,会话cookie就会被删除,也就是所说的sessionid,通过SESSION[′userinfo′]=_SESSION['user_info']=user;这样添加 主要用来判断用户的所有操作是否合法,避免用户每次都需要重新登录验证 新开一个浏览器,整个浏览器的所有窗口都公

2015-12-24 11:19:28 5807

原创 Libevent实例之系统密码保护程序实现

设计文档参考#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <shadow.h>#include <fcntl.h>#include <sys/types.h>#include <sys/stat.h>#include <sys/resource.h>#inclu

2015-10-12 15:56:44 651

原创 Libevent实例之系统密码保护程序设计

程序设计 程序实现自毁主程序:cloudsf 自毁监听程序:cloudsm 程序自启脚本:cloudst.sh 自毁脚本:destory.sh 恢复脚本:recovery.shlinux系统有被恶意篡改密码的情况,程序的目的就是通过实时监听linux系统密码是否被修改,在密码被修改的情况下,启动自毁程序 linux系统密码存放在/etc/shadow中,程序以守护进程运行,在程序首次在l

2015-10-12 15:41:51 1902

原创 Libevent时间管理

Libevent时间管理define evtimer_new(b, cb, arg) event_new((b), -1, 0, (cb), (arg))工作流程 1.设置超时值 static inline int event_add_internal(struct event *ev, const struct timeval *tv, int tv_is_absolute)

2015-09-25 09:39:01 1182

原创 Libevent信号event的处理

Libevent信号event的处理event_signal_map中数组元素的值它要么是信号值sig,要么是文件描述符fd,而event_signal_map要求的数组长度一定要大于slot。那么之后给定一个sig或者fd,就可以直接通过下标操作快速定位了。这是因为一个sig或者fd就对应在数组中占有一个位置,并且sig或者fd的值等于其在数组位置的下标值。把信号也转

2015-09-23 15:11:00 1615

原创 Libevent数据结构分析

Libevent数据结构分析:queue_head_t队列头#define TAILQ_HEAD(name, type)                      \  struct name {                               \      struct type *tqh_first; /* first element */

2015-09-18 15:34:25 1049

原创 Libevent工作流程

Libevent工作流程://使用默认的event_base配置  struct event_base *base = event_base_new();  struct event *cmd_ev = event_new(base, STDIN_FILENO,EV_READ | EV_PERSIST, cmd_cb, NULL);  event_add(cmd_ev, NULL)

2015-09-16 09:25:14 1158

原创 RemoteFX+RDP8.0+hyper-v重定向智能卡,U盾问题

客户端:win8,rdp8.1,开启了remoteFX,服务端:win7(hyper-v虚拟机),升级了RDP8.0,开启了remoteFX重定向出现以下问题,直接上图:

2015-07-07 11:28:24 6385

原创 1到19任意个不重复的数相加等于20 (C语言)

1到19任意个不重复的数相加等于20 (C语言)

2015-03-12 20:05:32 1782

原创 输入输出重定向问题

想实现 ./pipe args[1] args[2],使其实现管道的功能if ( pid  == 0 ){ /* parent will exec av[2]*/close(pipe_in[1]);/* parent doesn't write to pipe */        close(pipe_out[0]);        dup2(pipe_out[1],1);

2015-01-09 19:37:43 665

原创 exec系列函数使用

(1)int execl(const char *path, const char *arg, ......);(2)int execv(const char *path, char *const argv[]);(3)int execle(const char *path, const char *arg, ...... , char * const envp[]);

2015-01-06 14:59:42 714

原创 有关dup2(fd,1),复制文件句柄的问题

dup2(fd,1),将进程的标准输出重定向到文件的句柄,close(fd),关闭文件句柄,使用进程的标准出来作为文件的输入。fd=popen("ls","r"),得到进ls的内容到句柄fd,且fd是可读的方式实现方式/*父进程*/if(pid>0){close(pipe[1]);return fdopen(pipe[0],"r");}/*子进程*/cl

2014-12-23 20:34:05 1383

原创 RPC由客户端到服务器传递字符串的问题

const NAMELEN = 256;typedef string PATHNAME;struct write_buff {PATHNAME filename;PATHNAME write_buffer;};program FILE_PROG{ version FILE_VER{ int  file_open(string)=1; string  fi

2014-12-22 22:07:32 1575

深入理解Nginx模块开发与架构解析

深入理解Nginx模块开发与架构解析,学了Nginx的必备书籍,值得一读,

2015-06-29

Hue安装及配置

Hue是一个基于WEB的监控和管理系统,实现对HDFS,MapReduce/YARN, HBase, Hive, Pig的web化操作和管理,资源包含hue安装步骤。

2014-12-16

空空如也

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

TA关注的人

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