随笔分类 -  Opensrc

摘要:描述 nginx是一款著名的高性能开源Web与反向代理服务器,支持windows和linux操作系统,因为在windows系统上还不支持SCM(服务控制管理),所以只能以控制台方式运行,但这样并不是在后台运行,也不能在系统登录前启动。针对这些问题,本方法通过改进源码,使nginx良好地支持了SCM, 阅读全文
posted @ 2019-11-20 19:45 cq12yue 阅读(9) 评论(0) 推荐(0)
摘要:描述 云查杀平台以nginx作为反向代理服务器,作为安全终端与云查询服务的桥梁。当安全终端需要查询黑文件时,HTTP请求及其响应都会经过nginx,为了获取并统计一天24小时查询的黑文件数量,就得先截获经过nginx的HTTP响应,再做数据分析。截获HTTP数据流有多种方法,为了简单高效,这里使用了 阅读全文
posted @ 2016-08-25 11:10 cq12yue 阅读(17) 评论(0) 推荐(0)
摘要:为了使nginx支持windows服务,本文阐述以下主要的改进实现。ngx_main函数 为了在SCM服务中复用main函数的逻辑,将其重命名为ngx_main,并添加第3个参数is_scm以兼容控制台运行方式,声明在core/nginx.h中。 Code highlighting produced 阅读全文
posted @ 2016-07-12 15:31 cq12yue 阅读(30) 评论(0) 推荐(0)
摘要:nginx的域名解析器使用已连接udp(收发前先调用ngx_udp_connect)发送dns查询、接收dns响应,如上篇tcp异步连接所讲,iocp需要先投递udp的接收操作,才能引发接收完成的事件,因此要对域名解析器和udp异步接收作些改进。 发送后投递 dns查询由ngx_resolver_s 阅读全文
posted @ 2015-06-25 17:01 cq12yue 阅读(22) 评论(0) 推荐(0)
摘要:iocp是Windows NT操作系统的一种高效IO模型,对应于Linux中的epoll和FreeBSD中的kqueue,nginx对ske(select、kqueue和epoll的首写字母组合)的支持很好,但截止到1.6.2版本,还不支持iocp。由于ske都是反应器模式,即先注册IO事件,当IO 阅读全文
posted @ 2015-06-24 17:02 cq12yue 阅读(73) 评论(0) 推荐(0)
摘要:本文描述了一种简单的跨平台锁框架的设计与实现,该框架小巧实用、易于扩展,它的特点如下: ● 实现了线程间互斥锁 ● 实现优化了单线程环境中的空锁和空级别锁 ● 支持编译时或运行时选择锁 ● 支持对象和类级别的锁粒度 ● 支持错误或异常处理 框架结构 由锁抽象、锁适配器、锁守卫、线程互斥锁和锁级别5个 阅读全文
posted @ 2014-12-28 23:38 cq12yue 阅读(16) 评论(0) 推荐(0)
摘要:情景分析 现已存在一个可用稳定的异步客户端类http_client_base,该类基于boost asio实现了连接服务器,发送请求,获取响应和解析http数据等操作,该类的大致实现框架如下 Code highlighting produced by Actipro CodeHighlighter 阅读全文
posted @ 2013-03-20 20:47 cq12yue 阅读(0) 评论(0) 推荐(0)
摘要:在开发HTTP相关程序时,经常会碰到从网络链接URL中提取协议名、服务器、路径等目标对象,如果使用C/C++字符串操作函数,那么则显得有点麻烦且代码不易维护,其实关于文本内容的解析工作,都可优先考虑使用正则表达式库来解决处理,C++方面的正则库也有很多种,如atl、pcre、boost。下面就使用b 阅读全文
posted @ 2011-11-27 17:22 cq12yue 阅读(0) 评论(0) 推荐(0)
摘要:在《基于stl序列容器实现的通用集合类》一文中,已经讲到了具体实现,近来因再次用到它又改进完善了,主要体现在以下几点:1)增加了查找操作方法,支持按值类型和谓词条件两种方式。2)增加重载了按值类型和谓词条件2种方式删除元素的方法。3)增加了2个模板参数以支持线程安全,一个是线程模型模板类,一个是互斥 阅读全文
posted @ 2011-10-21 18:43 cq12yue 阅读(0) 评论(0) 推荐(0)
摘要:在面向对象开发时,对实际问题分析进而抽象出一种类型,往往会考虑到2个方面:1)类型的内部成员和方法的定义描述 2)类型的多实例存取操作。其中第1点是类型本身数据结构的设计,第2点是类型容器数据结构的选择设计。在stl中,容器有序列式和关联式两种,前者代表有vector,list,deque等;后者代 阅读全文
posted @ 2011-07-16 12:23 cq12yue 阅读(0) 评论(0) 推荐(0)
摘要:继承情景 我们知道一个空的类,也就是其内部没有非静态数据成员,没有虚指针(包括指向虚函数表和虚基类子对象的指针),它的大小通常为1,当然在某些对齐要求严格系统上可能是另一个数(通常是4),如果空类被继承,那么派生类的大小会怎么样呢?一个支持C++标准和EBO的编译器对此会进行空基类的优化,也就是不给 阅读全文
posted @ 2011-07-10 12:58 cq12yue 阅读(0) 评论(0) 推荐(0)
摘要:原题为某著名软件公司的试题,大意如下:给定一个容器,要求删除容器中重复的元素,并保持剩余元素的顺序不变。在这里,本文为了全面通用考虑,作了扩展,删除vector中的重复元素,从容器中元素顺序上可分为2种情形:1)保持剩余元素顺序不变,特称为稳定删除,对应下面的stable_unique版本函数模板 阅读全文
posted @ 2011-06-25 14:49 cq12yue 阅读(0) 评论(0) 推荐(0)
摘要:ACE中的同步机制是轻量级高效的,它不同于MFC中的同步类,MFC中的同步类采用了类继承的方式,而ACE并没有用继承方式,各个不同的锁类是平行的关系,这些类支持相同的接口,即它们的所有公共方法是相同的,因此可被适配用于动态绑定和替换,这种动态绑定是没有虚函数调用开销的,且这些方法代码短小使用了内联实 阅读全文
posted @ 2009-04-02 16:33 cq12yue 阅读(0) 评论(0) 推荐(0)