自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (29)
  • 收藏
  • 关注

转载 vlc 参数

使用VLC.exe -h或者 VLC.exe -H可以将帮助内容倒出到文件中,两个的区别是-H 倒出的内容多些。这里我们直接将内容贴上.Usage: vlc [options] [stream] ...You can specify multiple streams on the commandline. They will be enqueued in the playlis

2012-09-28 17:01:22 2980

转载 Linux下基于POSIX标准的共享内存操作示例

http://blog.csdn.net/laojing123/article/details/6109154 对于进程间通信,之前一直是用管道进行实现。比如父子进程间使用pipe,无血缘关系的进程可以使用fifo。从来没有想过使用共享内存,为什么呢?大家还记得这本书吧《Unix环境高级编程》,上面讲解了关于共享内存的操作,说实话,太麻烦了,真的不好用(有好多繁杂的接口,比如shmget,

2012-09-25 10:18:05 2532

转载 在linux中获取错误返回信息

#include // void perror(const char *msg);#include // char *strerror(int errnum);#include //errnoerrno 是错误代码,在 errno.h头文件中;perror是错误输出函数,输出格式为:msg:errno对应的错误信息(加上一个换行符);strerror 是通过参

2012-09-24 17:29:35 6907

转载 UDT源码剖析(六):UDT::socket()过程代码注释

调用路线UDT::socket()->CUDT::socket()->CUDTUnited::newSocket()1UDTSOCKET CUDT::socket(int af, int type, int)2{3   // 如果垃圾收集没启动

2012-09-19 17:19:58 4598

转载 UDT源码剖析(五):UDT::cleanup()过程代码注释

调用路线UDT::cleanup()->CUDT::cleanup()->CUDTUnited::cleanup()1int CUDTUnited::cleanup()2{3   // 锁保护4

2012-09-19 17:19:19 2790

转载 UDT源码剖析(四):UDT的GC线程相关过程代码注释

随着UDT::Startup()的启动,GC线程也随之运行了。GC主要关注的就是UDTSocket的释放,下面我们来看看这个GC线程是怎么实现的。查看源代码打印帮助1#ifndef WIN322   void* CUDTUnited::garbageCollect

2012-09-19 17:18:40 4160 1

转载 UDT源码剖析(三):UDT::startup()过程代码注释

调用路线UDT::startup()->CUDT::startup()->CUDTUnited::startup()1int startup()2{3   return CUDT::startup();4

2012-09-19 17:17:38 3619

转载 UDT源码剖析(二):UDT自带例程recvfile注释

#ifndef WIN32   #include    #include #else   #include    #include #endif#include #include #include #include #include using namespace std;int main(int argc, char* argv

2012-09-19 17:16:13 4532

转载 UDT源码剖析(一):UDT自带例程sendfile注释

#ifndef WIN32   #include    #include #else   #include    #include #endif#include #include #include #include using namespace std;#ifndef WIN32void* sendfile(void*);#

2012-09-19 17:15:23 19200 2

转载 UDT协议-基于UDP的可靠数据传输协议

http://blog.csdn.net/iiprogram/article/details/16644971.   介绍随着网络带宽时延产品(BDP)的增加,通常的TCP协议开始变的低效。这是因为它的AIMD(additive increase multiplicative decrease)算法彻底减少了TCP拥塞窗口,但不能快速的恢复可用带宽。理论上的流量分析表明TCP在

2012-09-19 16:28:41 5320

转载 TCP/UDP相关知识总汇

TCP如何保证可靠传输的?确认机制:保证每个数据包都能收到,差错检验:保证数据包的正确,流量控制:保证接收方不会溢出。顺序编号:保证传输的有序性 1、TCP/IP的可靠传输服务五个特征:面向数据流、虚电路连接、有缓冲的传输、无结构的数据流、全双工的连接。  2、TCP采用了具有重传功能的肯定确认技术作为可靠数据流传输服务的基础。  3、为了提高数据流传输过程

2012-09-19 14:45:05 1105

转载 nginx源码分析(19)-方法(3)

nginx的三个部分:核心、事件模型/并发模型、应用模块,之前已经详细了分析了核心和事件模型/并发模型两个部分,也详细解释了nginx的模块化设计。之 前的分析采用了平铺直叙的方式,对源码中主要函数进行了流程化的分解和剖析,经过这种分析方式,对nginx的认识越来越全面和深入,相关的领域知识和背 景知识也越来越丰富。但是这种分析方法比较直白,分析不够深入和透彻,缺少总结和对比,只是阐述如何

2012-09-14 11:11:26 1545 1

转载 nginx源码分析(17)-模块分析(3)

前面已经分析了nginx的事件处理机制的构建阶段,也分析过nginx的进程模型,利用上一篇文章中总结的并发模型设计的知识,先总结介绍一下nginx的并发模型,然后剖析nginx事件处理机制运行阶段的处理过程。nginx 的进程模型采用的是prefork方式,预先分配的worker子进程数量由配置文件指定,默认为1。master主进程创建监听套接口并监听客户连接, 每个worker子进程独自

2012-09-14 11:10:45 486

转载 nginx源码分析(16)-模块分析(2)

对一个高性能服务器来说,一般都要求处理速度快和资源占用小,尤其是当服务器遇到C10K问题的时候。要做到处理速度足够快,其并发模型的设计相当关键;而要做到资源尤其是内存资源的占用少,就要依赖于其资源分配和资源管理的方案设计。网 上有一些比较apache、lighttpd和nginx的文章,一般认为apache的功能完善,但是并发能力较弱,资源占用较多,一般并发量达到一千 以上,服务已经比较吃

2012-09-14 11:09:50 708

转载 nginx源码分析(15)-模块分析(1)

nginx的内部实现上用四个模块上下文结构把所有模块从实现上分开为四种,不同的模块上下文支持不同的模块钩子。如果抛开实现方式,仅仅从功能逻辑上来 区分,大致可以把所有模块分为三类,第一类是nginx的内核模块;第二类是http模块;第三类是mail模块。内核模块包含核心类模块、event类 模块和没有模块上下文结构的conf模块;http模块是所有的http类模块;mail模块是所有的mail类模

2012-09-14 11:09:11 698

转载 nginx源码分析(14)-运维与配置(2)

事件模块的指令集主要是配置epoll、kqueue、select、poll等,这些指令控制nginx处理连接的方式,这些指令有: 1、accept_mutex语法形式:accept_mutex [on|off]默认值:on nginx使用accept mutex保护accept()系统调用。accept mutex在不同的系统上会使用原子指令实现或者使用文件

2012-09-14 11:08:36 905

转载 nginx源码分析(13)-运维与配置(1)

http://blog.csdn.net/kenbinzhang/article/details/4722359nginx现在已经支持很多功能,系统内已经实现的模块多达72个,这些模块提供了若干配置指令来设置和控制nginx的相关处理过程。 为了能够更深入的进行接下来的源码分析,利用一些篇幅讨论一下nginx的运维和配置相关的内容,主要参考了nginx的英文wiki资料

2012-09-14 11:07:57 1117

转载 nginx源码分析(12)-进程启动分析(2)

第四个剖析的是worker子进程的执行函数ngx_worker_process_cycle(src/os/unix/ngx_process_cycle.c)。static voidngx_worker_process_cycle(ngx_cycle_t *cycle, void *data){    ngx_uint_t         i;    ngx_connecti

2012-09-14 11:06:33 467

转载 nginx源码分析(11)-进程启动分析(1)

nginx的进程启动过程是在ngx_master_process_cycle(src/os/unix/ngx_process_cycle.c)中完成的(单进程是通过ngx_single_process_cycle完成,这里只分析多进程的情况),在ngx_master_process_cycle中,会根据配置文件的worker_processes值创建多个子进程,即一个master进程和多个work

2012-09-14 11:05:24 577

转载 nginx源码分析(10)-启动过程分析

http://blog.csdn.net/kenbinzhang/article/details/4681694nginx有两个重要头文件:ngx_config.h和ngx_core.h。src/core/ngx_config.h文件中包含的是和操作系统相关的宏定义和头文件,其中又会包含objs/ngx_auto_headers.h和src/os/unix/ngx__config.

2012-09-14 11:04:24 589

转载 nginx源码分析(9)-模块化(4)

模块的上下文是四个结构体定义的:ngx_core_module_t、ngx_event_module_t、ngx_http_module_t、ngx_mail_module_t,分别对应于四类模块。typedef struct {    ngx_str_t             name;    void               *(*create_conf)(ngx_cyc

2012-09-14 11:03:22 466

转载 nginx源码分析(8)-模块化(3)

接下来剖析模块的指令。模块的指令在源码中是ngx_command_t结构的变量,ngx_command_t的声明在src/core/ngx_conf_file.h中:struct ngx_command_s {    ngx_str_t             name;    ngx_uint_t            type;    char

2012-09-14 11:02:26 494

转载 nginx源码分析(7)-模块化(2)

http://blog.csdn.net/kenbinzhang/article/details/4656815分析nginx的模块化架构的实现方式,就要从ngx_module_t结构体入手。ngx_module_t的声明在src/core/ngx_conf_file.h中:#define NGX_MODULE_V1          0, 0, 0, 0, 0, 0, 1#d

2012-09-14 11:01:09 542

转载 nginx源码分析(6)-模块化(1)

源码的src/core目录下实现了不少精巧的数据结构,最重要的有:内存池ngx_pool_t、缓冲区ngx_buf_t、缓冲区链 ngx_chain_t、字符串ngx_str_t、数组ngx_array_t、链表ngx_list_t、队列ngx_queue_t、基于hash 的关联数组ngx_hash_t、红黑树ngx_rbtree_t、radix树ngx_radix_tree_t等,这些数据结构

2012-09-14 11:00:22 485

转载 nginx源码分析(5)-方法(2)

利用nginx wiki和互联网收集了不少nginx相关的文档资料,但是仔细阅读之后发觉对理解nginx架构有直接帮助的资料不多,一些有帮助的资料也要结合阅读部分源码细节才能搞清楚所述其是,可能nginx在非俄国之外的环境下流行不久,应用还很简单,相关的英文和中文文档也就不够丰富的原因吧。不过还是有一些金子的。如果要了解nginx的概况和使用方法,wiki足以满足需要,wiki上有

2012-09-14 10:59:40 637

转载 nginx源码分析(4)-方法(1)

看了几天的源码,进度很慢,过于关注代码实现的细节了,反而很难看清整体结构。于是问诸google寻找方法。大体上分析源代码都要经历三遍过程,第一遍是浏览,通过阅读源码的文档和注释,阅读接口,先弄清楚每个模块是干什么的而不关心它是怎么做的,画出架构草图;第二遍是精读,根据架构草图把系统分为小部分,每个部分从源码实现自底向上的阅读,更深入细致的理解每个模块的实现方式以及与模块外部的接口方式等,弄明白模块

2012-09-14 10:58:56 483

转载 nginx源码分析(3)- 自动脚本

nginx的自动脚本指的是configure脚本程序和auto子目录下面的脚本程序。自动脚本完成两件事情,其一是检查环境,其二是生成文件。生成的文件有两类,一类是编译代码需要的Makefile文件,一类是根据环境检查结果生成的c代码。生成的Makefile很干净,也很容易阅读。生成的c代码有三个文件,ngx_auto_config.h是根据环境检查的结果声明的一些宏定义,这个头文件被include

2012-09-14 10:57:16 587

转载 nginx源码分析(2)- 概览

http://blog.csdn.net/kenbinzhang/article/details/4653202源码分析是一个逐步取精的过程,最开始是一个大概了解的过程,各种认识不会太深刻,但是把这些真实的感受也记录下来,觉得挺有意思的,可能有些认识是片面或者是不正确的,但可以通过后面更深入细致的分析过程,不断的纠正错误和深化理解。源码分析是一个过程,经验是逐步累积起来的,希望文字可以

2012-09-14 10:56:35 531

转载 nginx源码分析(1)- 缘起

http://blog.csdn.net/kenbinzhang/article/details/4653201nginx是一个开源的高性能web服务器系统,事件驱动的请求处理方式和极其苛刻的资源使用方式,使得nginx成为名副其实的高性能服务器。nginx的源码质量也相当高,作者“家酿”了许多代码,自造了不少轮子,诸如内存池、缓冲区、字符串、链表、红黑树等经典数据结构,事件驱动模型,ht

2012-09-14 10:55:20 775

转载 服务器技术系列综述(三)

网络请求包经过网络层(技术系列综述(一))被解析翻译成程序自定义的消息,之后被投递到业务线程的线程消息队列(技术系列综述(二))中。业务线程在队列的另一端取出消息,开始处理,这是本章要介绍的部分。业务处理部分:主要有会话类(Session)和会话管理类(SessionManager,常见该类为单例)。先给出类图,后文详细介绍:一 SessionManager的职责:(1)继承IMsgT

2012-09-13 17:34:53 853

转载 服务器技术系列综述(二)

《技术系列综述(一)》介绍了网络层部分。网络层基本都是多路复用函数作为运行的主线程,使用管道或者sockpair与之通讯,这是网络层线程的固有特点,和业务线程的呈现方式完全不同。经过网络层以后,数据开始流向业务线程,现在就顺着数据流向往上看。一 业务线程《技术系列之 线程(一)》有对线程的一个入门描述,里面的消息队列只是示例,真实可用的可以看《技术系列之 线程(二)》。(1)业务线

2012-09-13 17:21:02 519

转载 服务器技术系列综述(一)

一 系统框架概述网络上的服务器,无论是嵌入式的网络设备,还是pc上服务器,整体结构以及主要思想都大体相同:根据业务模型确定主要数据结构,根据数据结构确定线程模型,在各个业务线程内根据围绕主要数据结构进行的操作确定状态机模型,低层使用网络层收发数据完成和其它网元的通讯。线程交互模型简单描述如下图:其中网络层包括收发模块,收数据模块是单独线程,而发数据模块则被业务线程调用在其本身线程中发送

2012-09-13 17:14:01 644

转载 高性能服务器本质论

作者:CppExplore  http://www.cppblog.com/CppExplore/和http://blog.csdn.net/cppexplore同步发布一 服务器分类从软件性能角度,高性能服务器分:cpu密集型服务器/IO密集型服务器(1)CPU密集型:该类服务器没有对io的访问/没有同步点,性能瓶颈在于对cpu的充分利用。典型的如转发服务器/代理服务器/协议转换

2012-09-13 16:55:45 424

转载 高性能服务器本质论

作者:CppExplore 网址:http://www.cppblog.com/CppExplore/本章主要列举服务器程序的各种网络模型,示例程序以及性能对比后面再写。一、分类依据。服务器的网络模型分类主要依据以下几点(1)是否阻塞方式处理请求,是否多路复用,使用哪种多路复用函数(2)是否多线程,多线程间如何组织(3)是否多进程,多进程的切入点一般都是accept函数前二

2012-09-13 16:42:05 494

转载 fork如何做到返回两次

http://blog.csdn.net/barfoo/article/details/1626938   一直很疑惑fork方法如何做到返回两次,今天认真看了看书,其实大家都说的“返回两次”在表达上是不清楚的。fork并没有真正的返回两次,它依然返回了一次,只是OS对fork进行的操作使得我们看起来它返回了两次而已。搜到一篇文章,说的还比较清楚。收藏下来吧。要搞清

2012-09-03 18:18:16 391

how to enable android usb host api

how to enable android usb host api

2015-02-26

arm-linux-gcc 4.4.3

arm-linux-gcc 4.4.3

2015-02-04

android硬编码h264

android 用新api mediacodec硬编码h264, 发送到vlc播放。

2013-12-26

查找二叉树

二叉树实现 递归,非递归,层次遍历实现

2013-12-18

数据结构与算法分析c++描述

数据结构与算法分析c++描述 高清 此书对c++程序员帮助很大

2013-12-17

inotify 文件监视

linux 文件监视事件 inotify, inotify 是一个 Linux 内核特性,它监控文件系统,并且及时向专门的应用程序发出相关的事件警告,比如删除、读、写和卸载操作等。

2013-12-16

Tcp转发服务器代码

tcp转发服务器,代码比较简单,适合初学者,共勉! qt调试

2013-12-13

利用ffmpeg x264 编解码h264

利用ffmpeg x264 编解码h264 把h264编码的mp4解码保存为rgb ppm文件,然后又把rgb 编码为h264格式

2013-04-19

ffmpeg 入门资料

ffmpeg入门学习 配合ffmpeg-tutorial-master代码和pdf教程,对初学者非常有利

2013-04-16

Boost程序库完全开发指南

Boost程序库完全开发指南 c++准标准库 高清版 希望大家一起学习

2012-12-26

LINUX与UNIX.Shell编程指南

LINUX与UNIX.Shell编程指南 高清 经典,学习linux开发与维护的必备知识

2012-09-24

TCP/IP协议详解卷二

TCP/IP协议详解卷二 这个不用多说,难得的高清版 W.Richard Stevens

2012-06-26

TCP/IP 协议详解卷三

W.Richard Stevens TCP/IP 协议详解卷三 这个不必多说啊,难得的高清版

2012-06-26

TCP/IP协议详解卷一

TCP/IP协议详解卷一 这个就不必多少了吧 W.Richard Stevens 难得的高清

2012-06-26

WINDOWS网络与通信程序设计 代码

[WINDOWS网络与通信程序设计].王艳平. 代码 原理和配套代码都有。讲解详细,技术全面。这是代码,可直接运行

2012-06-20

[WINDOWS网络与通信程序设计].王艳平.扫描 part5

[WINDOWS网络与通信程序设计].王艳平.扫描 part5 清晰版,原理和配套代码都有。讲解详细,技术全面

2012-06-20

[WINDOWS网络与通信程序设计].王艳平.扫描 part4

[WINDOWS网络与通信程序设计].王艳平.扫描 part4 清晰版,原理和配套代码都有。讲解详细,技术全面

2012-06-20

[WINDOWS网络与通信程序设计].王艳平.扫描 part3

[WINDOWS网络与通信程序设计].王艳平.扫描 part3 清晰版,原理和配套代码都有。讲解详细,技术全面

2012-06-20

[WINDOWS网络与通信程序设计].王艳平.扫描 part12

[WINDOWS网络与通信程序设计].王艳平.扫描 part2 清晰版,原理和配套代码都有。讲解详细,技术全面

2012-06-20

[WINDOWS网络与通信程序设计].王艳平.扫描 part1

[WINDOWS网络与通信程序设计].王艳平.扫描 part1 清晰版,原理和配套代码都有。讲解详细,技术全面

2012-06-20

windows 核心编程 中文第五版 高清

windows 核心编程 中文第五版 高清 超清,经典书籍,windows程序员必备

2012-05-02

windows 核心编程 中文第五版 高清 part2

windows 核心编程 中文第五版 高清 part2 绝对的高清,看看大小就知道了,经典书!

2012-05-02

windows核心编程 中文第五版

windows 核心编程 中文 第五版 高清 ,绝对的高清,看看文件大小就知道了。经典的书籍!!

2012-05-02

数据结构与算法分析C++描述 第3版

数据结构与算法分析C++描述 第3版 高清

2012-03-27

C++编程思想.rar

c++ 编程思想 这个不用我在描述,高清版的。

2012-03-26

gdi+ 绘制半透明 窗口

gdi+ 绘制半透明 窗口,绘制png,非常有借鉴意义。欢迎交流

2012-03-20

linux shell 编程

讲解linux shell编程,讲解详细,很清晰,对刚入门的很适合

2011-12-15

空空如也

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

TA关注的人

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