乐于学习与分析
0. 前言 Hiredis是一个Redis的C客户端库函数,基本实现了Redis的协议的最小集。
同步的API接口 redisContext *redisConnect(const char *ip, int port); void *redisCommand(redisContext *c, const char *format, .
本文转载自链接: http://blog.csdn.net/chenzba/article/details/51224715 最近使用redis的c接口——hiredis,使客户端与redis服务器通信,实现消息订阅和发布(PUB/SUB)的功能,我把遇到的一些问题和解决方法列出来供大家学习。
windows下hiredis的编译,有需要的朋友可以参考下。 果然,高端的程序员真心是鸟都不鸟windows的,redis的客户端找了一圈愣是没有C++的windows版本 我要做个...
简介 说到异步IO,高并发之类的名词, 可能很多人第一反应就是 select, poll, epoll, kqueue 之类的底层代码库。
之前写过两篇关于 Thrift 的相关文章。 Thrift源码剖析 Thrift异步IO服务器源码分析 也算是对Thrift比较熟悉,不过对 Thrift 里面的 Protocol 部分还是黑盒使用。
最近在使用 libevent 开发项目,想起之前写 Thrift源码剖析 的时候说到关于 TNonblockingServer 以后会单独写一篇解析, 现在是时候了,就这篇了。
由于工作的关系,需要定位一个 bug 是否和 Thrift 有关, 所以用了一下午的时间研读了 Thrift-0.9.0 代码,虽然发现这个 bug 和 thrift 无关。
Socket中的TIME_WAIT状态在高并发短连接的server端,当server处理完client的请求后立刻closesocket此时会出现time_wait状态然后如果client再并发2000个连接,此时部分连接就连接不上了,用linger强制关闭可以解决此问题,但是linger会导致数据丢失,linger值为0时是强制关闭,无论并发多少多能正常连接上,如果非0会发生部分连接不上的情况!(可调用setsockopt设置套接字的linger延时标志,同时将延时时间设置为0。
http://www.tuicool.com/articles/YBNZZzI 一 前言 项目中用到了redis,但用到的都是最最基本的功能,比如简单的slave机制,数据结构只使用了字符串。
gsoap中文乱码的问题 -- 拔剑,2010-08-31 一、 问题和分析 gsoap在调用Webservice过程中,如果字符串中有汉字,很容易出现乱码。
中文乱码与locale有关,这里给出两种解决方法: 一、设置locale 1、setlocale(LC_ALL, "");//设置程序locale为系统默认(我的系统是zh_CN.utf8),gsoap内部进行编码转换依赖于locale,所以必须设置为中文环境。
http://www.blogjava.net/libin2722/articles/159469.html 为什么使用WSDL? 像Internet协议之类的标准有没有为权威所利用,或者人们这样看待它是因为顺之所获的好处远远超出了代价?曾经有许多试图建立的标准都流产了。
1)Pass each structure member as an individual method parameter.
管理信息库:MIB 我们要扩展mib首先必须清楚mib是如何定义的,用的什么语言,有哪些约定,遵循哪些规则等等。这些基本东西掌握过后,我们就可以很轻松的来写自己的mib文件了。 所谓管理信息库,或者MIB,就是所有代理进程包含的、并且能够被管理进程进行查询和设置的信息的集合,或者叫管理对象的集合,在RFC 1213 [McColghrie 和Rose 1991]中定义了MIB-II,即第二版的MIB库。
SNMP协议入门 1、引言 基于TCP/IP的网络管理包含3个组成部分: 1) 一个管理信息库MIB(Management Information Base)。
首先来阐述几个重要的概念: 1、community (共同体名):如果翻译过来可能会显得难于理解,其实你完全可以把它理解为一个带有权限的登陆账户,这是你访问网络设备的重要凭据,比如你要访问交换机,假如交换机的community是public,其权限是只读的,那你一次用户登陆交换机就可以查看有关交换机记录的数据。
国家智能交通系统工程技术研究中心 张北海 中交国通智能交通系统技术有限公司 肖媛媛 1.
http://www.ibm.com/developerworks/cn/java/j-lo-apachethrift/ 前言: 目前流行的服务调用方式有很多种,例如基于 SOAP 消息格式的 Web Service,基于 JSON 消息格式的 RESTful 服务等。
1、前言 Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。
linux上安装thrift见 http://jinghong.iteye.com/blog/1102535 thrift做为跨语言调用的方案有高效,支持语言较多,成熟等优点;代码侵入较强是其弱点。
dd if=***.img bs=1 skip=172 > ***_nohead.bin
/* md5.c - an implementation of the MD5 algorithm and MD5 crypt */ /* * GRUB -- GRand Unifi...
技巧: 用 cat 合并文件 您常常需要将几个文件处理成一个文件并将这种处理的结果保存到一个单独的输出文件。
摘要:JavaScript是一门非常流行的编程语言,许多开发者都会把JavaScript选为入门语言,本文向大家分享JavaScript开发的小技巧、最佳实践等非常实用的内容。
http://www.iteye.com/topic/478024 DES(Data Encrypt Standard数据库加密标准)是迄今为止使用最广泛的加密体制。
Pnig0s1992:算是复习了,最经典的教科书式的Dll注入。 总结一下基本的注入过程,分注入和卸载 注入Dll: 1,OpenProcess获得要注入进程的句柄 2,VirtualAllocEx在远程进程中开辟出一段内存,长度为strlen(dllname)+1; 3,WriteProcessMemory将Dll的名字写入第二步开辟出的内存中。
http://www.codeproject.com/Articles/2518/Enumerate-and-Change-Display-Modes Introduction This...
http://xmit.org.cn/forum.php?mod=viewthread&tid=3409&extra=page=1&page=1& 今天开始想写个验证QQ密码的工具,以前写过一个QQ验证器的程序,就拿了那个代码试了一下居然不能同。
http://www.cctry.com/thread-146696-1-1.html 最近写个QQPC协议返回当前QQ各种状态的东东。
http://www.cnhonkerarmy.com/forum.php?mod=viewthread&tid=153514 背景 QQ,一个通信工具,号称拥有N亿,现在注册QQ已经是10位数了,如果QQ注册的号码是不断递增的话,那么QQ应该已经被注册了至少10亿次。
在VC6上如何使用已经编译好的OpenSSL呢。 1. 首先就是要拿到两个动态链接库文件。 将OpenSSL编译完成后,在*\openssl\out32dll文件夹下会得到两个dll文件:ssleay32.dll和llibeay32.dll,这两个文件就是在release产品时需要“随身携带”的。
http://www.vckbase.com/index.php/wv/1390 这里要先用SPY++来找到QQ登陆框的各个窗口标题或ID号。
http://gamebabyrocksun.blog.163.com/
http://gamebabyrocksun.blog.163.com/blog/static/57153463201021554716831/ 在前一篇文章《WinSock2编程之打造完整的SOCKET池 》中,介绍了WinSock2的一些新函数,并重点详细介绍了什么是SOCKET池,有了这个概念,现在就接着展开更深入的讨论。
远程注入DLL(简单描述) 远程注入DLL 建议在阅读本文前先阅读取得句柄的令牌 OpenProcessToken()函数一文! 没错,现在讨论的就是传说中的远程注入技术,目前一种非常流行的隐藏技术,因为它没有进程,是通过远程插入线程调用DLL文件实现的!在这里先说一下.
这个Base64是从Live555的代码里面提取出来的,请大家放心使用吧。 Base64的加密解密的算法和原理我就不想说了。
作者:riusksk (泉哥) 主页:http://riusksk.blogbus.com 前言 在当今信息安全领域,特别是恶意软件分析中,经常需要利用到虚拟机技术,以提高病毒分析过程的安全性以及硬件资源的节约性,因此它在恶意软件领域中是应用 越来越来广泛。
先说3种方法 代码: #include #include BOOL gInVMWARE, gInVirtualPC; BOOL VMWareTest() { BYTE PortValue...
使用*nix系统已经有一段时间了。但还是有一些命令是被我一直忽略的,真希望我能早几年发现这些命令。
#define PW_WINDOW 9001 #define PW_CLIENT 9002 HBITMAP CMyProgramDlg::Copy...
学习QT已经一个月了,觉得QT真是个好东西,他的这种跨平台机制简直太棒了!还有QML这东西,真牛B!在这段学习期间,因为一个项目的需要,需要将图片转成数据,然后传出去,那边接收到数据后再对应转换成图片,才有了下面这个小工具,开发环境:QT 4.7.0,在LINUX下面重新编译也可以在LINUX下面运行,代码不用改!先放张截图吧。
在PostgreSQL中修改了一行不明显的代码,把(ANY(ARRAY[...]) 改成 ANY(VALUES(...))),结果查询时间从20s变为0.2s。
问题: class a{protected:virtual void test(){coutvirtual void test1(){cout};问题1:sizeof(a)=4,这个4应该是个指针大小,代表虚指针,但是如果这样的话是不是应该有两个指针呢?? 问题2:还有一个地方是...
inux平台C编程系列视频教学!(139集) 建议使用1024X768以上的分辨率! Linux C 第一章 了解C语言(1)http://player.
国王有七个女儿,这七位美丽的公主是国王的骄傲。 她们那一头乌黑亮丽的长发远近皆知。 所以国王送给她们每人一百个漂亮的发夹。 有一天早上,大公主醒来,一如往常地用发夹整理她的秀发, 却发现少了一个发夹,于是她偷偷地到了二公主的房里, 拿走了一个发夹。
相对同时刚出校门同学从事其它行业而言优厚的薪水,以及不断学习更新的专业知识不仅仅让你感到生活的充实,更满足了你那不让外人知的虚荣心。在刚出校门的几年中,你经常回头看看被你落在后面的同学们,在内心怜悯他们的同时,你也会对自已天天加班的努力工作感到 心 里平衡:“有付出才会有回报”这句话在那几年中你说的最多,不管是对自已的朋友们还是自已的爱人。
http://hi.baidu.com/hilojack/item/9cf0c307f7c03a133b53ee7avim是黑客文化中强大的编辑器。利用它调用外部十六进制文件显示命令xxd就可以顺利的编辑二进制文件了。
用GDB调试程序 GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序 列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行 软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可 以做出一个非常强大的功能。
文章一、C语言的内存分配模型1、程序代码区:存放函数体的二进制代码。 2、全局区数据区:全局数据区划分为三个区域。全局变量和静态变量的存储是放在一块 的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。