send函数返回值 [cpp] view plaincopyint ret = this->peer().send_n(ack_msg, len, &time_zero_); switch (ret) { case 0: // peer closed re
PHP CURL curl_setopt 参数 PHP CURL curl_setopt 参数bool curl_setopt (int ch, string option, mixed value)curl_setopt()函数将为一个CURL会话设置选项。option参数是你想要的设置,value是这个选项给定的值。下列选项的值将被作为长整形使用(在option参数中指定): ? CURLOPT_IN
php pack()函数详解与示例 pack和unpack在一般的程序中还真的不容易见到,但是如果你用过很久以前的php生成excel你就会知道了。他的excel的头就是pack出来的最近在尝试与C交互的时候又用上了这玩意,所以不得不再看看。其实就是C要求我一定要有包头。。。其实纯字符串也不错嘛。干嘛非得搞个包头呢?真纠结 .。手册上有pack与unpack的介绍,但都是英文的。。。 任何一款拥有sock
c++成员初始化列表 ++成员初始化列表2009-03-20 14:50C++为类中提供类成员的初始化列表类对象的构造顺序是这样的:1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员2.进入构造函数后在构造函数中执行一般计算使用初始化列表有两个原因:1.必须这样做: 如果我们有一个类成员,它本身是一个类或者是一个结构,而且这个成员
linux下ab网站压力测试命令 ab网站压力测试命令的参数、输出结果的中文注解以前安装好APACHE总是不知道该如何测试APACHE的性能,现在总算找到一个测试工具了。就是APACHE自带的测试工具AB(apache benchmark).在APACHE的bin目录下。格式: ./ab [options] [http://]hostname[:port]/path参数:-n requests Number o
分布式应用程序架构 这是一个分布式应用程序架构的草图。仅作为Ice学习的一点小结。1)Client指的是我们通常意义上的客户端。比如在一个网页游戏中,它可以是以flash实现的网页客户端。2)GateWay指的是服务器端的通信模块(NetService)。它负责与客户端进行通信,同时它会在RegisterNode中读取相应的LogicServer注册表信息,继而将请求送达相应的逻辑层服务器
zk系列-c++下zookeeper使用实例 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。分布式应用可以使用它来实现诸如:统一命名服务、配置管理、分布式锁服务、集群管理等功能。公司常用到的是Java服务集群的管理。1.函数介绍[cpp] view plaincopy//create a handle to used communicate with zookeep
ZooKeeper的简单操作 1 )使用 ls 命令来查看当前 ZooKeeper 中所包含的内容:[zk: 10.77.20.23:2181(CONNECTED) 1] ls /[zookeeper]2 )创建一个新的 znode ,使用 create /zk myData 。这个命令创建了一个新的 znode 节点“ zk ”以及与它关联的字符串:[zk: 10.77.20.23:2181(
zookeeper原理 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee
boost库之ptree的ini配置文件解析 [cpp] view plaincopy// FirstTest.cpp : 定义控制台应用程序的入口点。 //ptree解析ini文件,get(treename, translator) :translator类型实例 #include "stdafx.h" #include #include #include
libevent的使用 这篇文章介绍下libevent在socket异步编程中的应用。在一些对性能要求较高的网络应用程序中,为了防止程序阻塞在socket I/O操作上造成程序性能的下降,需要使用异步编程,即程序准备好读写的函数(或接口)并向系统注册,然后在需要的时候只向系统提交读写的请求之后就继续做自己的事情,实际的读写操作由系统在合适的时候调用我们程序注册的接口进行。异步编程会给一些程序猿带来一些理解和编写上的困难,
解决close_wait与time_wait 昨天解决了一个HttpClient调用错误导致的服务器异常,具体过程如下:http://blog.csdn.net/shootyou/article/details/6615051里头的分析过程有提到,通过查看服务器网络状态检测到服务器有大量的CLOSE_WAIT的状态。 在服务器的日常维护过程中,会经常用到下面的命令:netstat -n | awk '/^tcp
TCP状态转换图 注:主动、被动 与 服务器、客户端没有明确的对应关系。这个图N多人都知道,它排除和定位网络或系统故障时大有帮助,但是怎样牢牢地将这张图刻在脑中呢?那么你就一定要对这张图的每一个状态,及转换的过程有深刻 的认识,不能只停留在一知半解之中。下面对这张图的11种状态详细解析一下,以便加强记忆!不过在这之前,先回顾一下TCP建立连接的三次握手过程,以及 关闭连接的四次握手过程。1、建立连接
Linux下用netstat命令查看网络负载状况的一条语句 今天看到一条用 netstat 查看 Linux 网络状况的语句,如下:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'前面的 netstat -n是netstat的命令,Windows和Linux都可以用,结果显示内容差不多后面的 awk'/^tcp/ {++S[$NF]} END {
使用 Google gflags 简化命令行参数处理 (本文章仅适用于C++程序)写服务程序时,如果需要提供命令行参数。传统的方法是手工解析argv参数,或者使用getopt函数。两种方法都比较费劲。使用Google gflags可以大大简化命令行参数处理。安装gflag从官方地址http://code.google.com/p/google-gflags/下载gflags并安装。比如我下载的是1.5版本。[yichi@y
google log的使用 log是Google维护的一个开源的C++ log库,使用Free BSC licenseglog官方地址:https://code.google.com/p/google-glog/glog作用:日志库安装方法./configuremakemake installHello worldfoo_1.cpp[
netstat 命令简介 简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Re
编译选项-l,-L,-I 参考文章;http://hi.baidu.com/njuhappy/item/83f8bfbd7c5d3162bb0e1237我们用gcc编译程序时,可能会用到“-I”(大写i),“-L”(大写l),“-l”(小写l)等参数,下面做个记录:例:gcc -o hello hello.c -I /home/hello/include -L /home/hello/lib -
谷歌技术"三宝"之BigTable 2006年的OSDI有两篇google的论文,分别是BigTable和Chubby。Chubby是一个分布式锁服务,基于Paxos算法;BigTable是一个用于管理结构化数据的分布式存储系统,构建在GFS、Chubby、SSTable等google技术之上。相当多的google应用使用了BigTable,比如Google Earth和Google Analytics,因此它和GFS、MapRed