自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 资源 (4)
  • 收藏
  • 关注

原创 单线程读fifo写文件

int log_fifo2file(char *fifoname, char *filename, size_t size, int expire, int *exitflag){ int fd1, fd2; size_t nread, nwrite, sum; char file[PATH_MAX], filene

2015-12-01 16:52:15 552

原创 Posix mq和SystemV mq区别

1、 Posix mq内核参数影响fs.mqueue.msg_max        消息队列中消息个数最大限制fs.mqueue.msgsize_max 消息队列中每个消息长度最大限制fs.mqueue.queues_max  消息队列个数最大限制建议值fs.mqueue.msgsize_max = 8192fs.mqueue.msg_max = 10000fs.m

2015-10-16 17:08:53 2623

原创 多线程/多进程写FIFO为原子操作(一次写小于PIPE_BUF内容)

#include #include #include #include #include #include #include #include #define WRITENUM 4typedef struct writeattr writeattr;struct writeattr{ int id; int

2015-08-17 17:06:09 2339

原创 单线程socket性能测试

int main(){ int ret, fd, connfd; char ip[16]="10.10.126.183"; short port = 7208; int backlog = 10; char buf[87380]; ssi

2015-08-17 16:10:47 1151

原创 手机尾号hash算法

经过各省实际统计情况来看,除了尾号为4的号码较少外,其他尾号相差不多,所以采用尾号后4位来进行hash//经典算法unsigned BKDRHash(char *str){ unsigned seed = 131; // 31 131 1313 13131 131313 etc.. unsigned hash = 0; while(*str)

2015-02-11 11:36:27 2438

原创 nginx-简介

nginx(发音"engine x")是俄罗斯软件工程师Igor Sysoev开发的免费开源web服务器软件。nginx于2004年发布,聚焦于高性能,高并发和低内存消耗问题。并且具有多种web服务器功能特性:负载均衡,缓存,访问控制,带宽控制,以及高效整合各种应用的能力,这些特性使nginx很适合于现代网站架构。目前,nginx已经是互联网上第二流行的开源web服务器软件。1     为什么

2015-02-10 09:43:58 774

原创 底层网络编程代码总结

/* * Author: GaoYang, * Since: 2014-7-24 ~ 2015-7-24 */#ifndef COMMON_UTIL_H#define COMMON_UTIL_H#include #include #include #include #include #include #include #include #include #incl

2015-02-09 16:20:31 787

原创 nginx-并发模型

nginx采用多进程模型处理并发请求,每个worker采用try_lock竞争accept_mutex,避免惊群现象。优点:编程简单,单进程处理请求。缺点:对连接数固定或较少的大数据量连接来说,性能略显不足。

2015-02-09 16:03:12 644

原创 libxml2使用

Libxml2使用指南一、Libxml2介绍:Libxml2 是一个xml的c语言版的解析器,本来是为Gnome项目开发的工具,是一个基于MIT License的免费开源软件。它除了支持c语言版以外,还支持c++、PHP、Pascal、Ruby、Tcl等语言的绑定,能在Windows、Linux、Solaris、MacOsX等平台上运行。功能还是相当强大的,相信满足一般用户需求没有任何问题

2015-01-28 16:17:26 996

原创 64位bitmap操作

#include #define set_bit1(x,y) (x|=(0x01L<<y))#define set_bit0(x,y) (x&=(~(0x01L<<y)))#define get_bit(x,y) (x&(0x01L<<y))int main(){ int pos = 31; unsigned long bitmap = 0xffffff

2015-01-26 16:46:33 1639

原创 C实现固定大小对象池

typedef struct common_obj_pool  common_obj_pool;typedef struct common_obj_node  common_obj_node;struct common_obj_pool {    uint    count;  //total num    uint    size;   //per size    uint

2015-01-21 10:25:00 544

原创 NTP时间同步

前提:ntp服务器和ntp客户端都需要安装ntp包同步方法:1、ntpdate

2014-11-13 17:00:14 563

原创 交换机原理

1. 接收网段上的所有数据帧。2. 利用接收数据帧中的源MAC地址来建立MAC地址表(源地址自学习),使用地址老化机制进行地址表维护。3. 在MAC地址表中查找数据帧中的目的MAC地址,如果找到就将该数据帧发送到相应的端口(不包括源端口)。4. 如果找不到,就向所有的端口发送(不包括源端口)。5. 向所有端口转发广播帧和多播帧(不包括源端口)。

2014-09-26 13:53:24 815

原创 链路层原始套接字编程-总结

1、链路层原始套接字创建方法:socket(PF_PACKET, SOCK_RAW, htons(protocol)),其中protocal参数为关心的协议类型。2、默认情况下网卡只处理目的地址是本机网卡地址的包,可通过设置混杂模式,使网卡将收到的所有包(包括组播和广播)都转发给操作系统。代码如下:    struct ifreq    ifr;    strcpy(ifr.ifr_n

2014-09-10 13:51:44 5376 2

原创 链路层原始套接字编程-客户端

#include #include #include #include  #include #include #include #include #include #define LEN     60void print_str16(unsigned char buf[], size_t len){        int     i;

2014-09-10 11:18:33 994

原创 链路层原始套接字编程-服务端

#include #include #include #include  #include #include #include #include #include #define LEN     60void print_str16(unsigned char buf[], size_t len){        int     i;

2014-09-10 11:17:56 997

原创 char和short 给int赋值或与int比较时 需要特别注意

#include int main(){    int     a;    char    c =0x81;    a = c;    printf("%x\n", a);}

2014-08-15 10:56:09 1015

原创 华为S9300交换机CFM和Y.1731配置

mep1:192.168.150.2 4/0/42mep2:192.168.240.253 3/0/46acsno  syacsno888 删除配置:undo cfm enable 1. 基本配置[UPE1] cfm enable[UPE1] cfm md md1 level 1[UPE1-md-md] ma ma1[UPE1-md-md-ma-ma] ma

2014-08-05 13:17:27 3356 2

原创 以太网OAM(802.1ag和Y.1731)

以太网技术自诞生起,就以其简单易用和价格低廉的特点逐步成为局域网的主导技术。近年来,随着千兆、万兆以太网技术的相继应用,也促使网络运营商、设备制造商和标准化组织致力于将以太网技术向城域网和广域网领域推进。以太网最初为局域网而设计,由于局域网本身已具备较高的可靠性和稳定性,因此在设计以太网之初并未建立管理维护的机制。而相对于局域网,城域网和广域网在链路长度和网络规模上都迅速扩大,

2014-08-05 13:15:38 6967 2

原创 C++类

1、为需要动态分配内存的类声明一个拷贝构造函数和一个赋值操作符2、总是让base class拥有virtual destructor3、不要重新定义父类的非虚函数4、重载赋值操作符需要做自赋值判断5、建议不要将类的成员变量放在公共接口中所有成员函数的实现不要放在class声明中,即使函数体为空在类中,成员函数按照如下顺序声明:构造函数、析构函数、成员函数、操作符函数、其

2014-07-17 10:27:42 392

原创 C++比C的优势

对于应用系统来说,用C++比用C要好

2014-07-16 15:47:19 4173

原创 apache frpserver工程复用(一) 用户列表获取

1、默认方式通过配置文件设置:users.properties2、通过数据库获取

2014-04-18 16:06:38 658

原创 MySQL数据库重新安装后报错解决方法

重新安装C:\Documents and Settings\All Users\Application Data\MySQL

2014-04-10 15:17:16 656

原创 oracle常用设置

set line 500;column column_name format a30; SQL>set colsep' ';     //-域输出分隔符SQL>set echo off;     //显示start启动的脚本中的每个sql命令,缺省为onSQL> set echo on               //设置运行命令是是否显示语句SQL> set feedback

2014-02-08 14:42:04 600

原创 SQL编程规范

目    录目    录...01      范围... 32      术语和定义... 33      基本原则... 43.1       首先为人编写程序,其次才是计算机。... 43.2       保持代码的简明清晰,避免过分的编程技巧。... 43.3       关键字的大写或小写保持统一,字段的大写或小写也要保持统一...

2014-01-23 15:53:23 5000

原创 Linux程序开发经验总结

1.  进程和线程1.1.  进程进程终止有8种方式使进程终止,其中5种为正常终止,3种异常终止方式:1)  从main返回2)  调用exit3)  调用_exit或_Exit4)  最后一个线程从其启动例程返回5)  最后一个线程调用pthread_exit6)  调用abort7)  接到一个信号并终止8)  最后一个线程对取消请求作出响应

2014-01-23 15:03:27 5419

原创 Linux系统应用经验总结

1.  日志类1.1.  正常消息流程跟踪MO消息匹配流程3种消息类型:MO、MOSR、MO状态报告2个匹配过程:         1)3与5,匹配点在网关,3发送的fwd包中Msg_id字段表示匹配ID,5接收的fwd包中msg_content字段中带有Msg_id字段,用于匹配,格式请参考点对点互通协议。         2)2与7,匹配点在SMSC,5流程中的MO

2014-01-23 15:02:14 4941

原创 多进程框架

int main_run(){        int     stat;        int     i;        pid_t   pid;        int     fd[2];        char    c;        if(setjmp(exit_jb))                goto shutdown;        //i

2013-06-08 14:05:42 561

原创 链表查找算法-节约内存

#include #include #include #include #include #include #include #include #include #include #include #define KEYNUM  1000000#define KEYHASH 0xFFFFtypedef struct cr_rec_

2013-04-22 13:56:28 625

原创 截断数据类型

#include #include struct test_t{int a;unsigned b:1;int c;};int main(){char a;int b=0x0102;int c=0x0201;a = b;printf("a=%x\n", a);struct test_t t;printf("t=%d\n", size

2012-12-27 13:34:28 516

原创 创建线程时参数传递技巧-用指针传值

//1. thtread mainvoid *listen_thread(void *data){  int socket = (int)data;  size_t len;  char byte;  len = 1;  (void) recv(socket,&byte,&len,-1);exit(1);}//2.pthread callpthread_

2012-12-27 13:31:47 689

原创 ftok函数创建key重复

系统在同一台机器同一个磁盘的不同账户中使用时,出现ftok创建key时重复的现象,而通过ls -i命令查看,i-node结点值明显不一致,为什么还会出现重复呢,经过测试发现几个问题:1、ftok产生key时,组合了3个变量:st_dev、st_ino、proj_id;在Solaris系统上,取proj_id%0xff,st_dev后3位,st_ino后3位组成。st_dev:1

2012-09-18 13:43:49 1566

原创 strcpy问题

The strcpy() function copies string s2 to s1, including  the     terminating  null character, stopping after the null charac-     ter has been copied. The strncpy() function copies exactly n

2012-09-11 10:15:07 496

原创 Solaris系统SHM共享内存使用方法

1. 基础知识系统V共享内存是已知的Unix /Linux系统中最快的进程间通信方式,那么要想采用SHM方式申请共享内存需要做哪些操作呢?In Solaris 10, you are not required to make changes to the/etc/system file to implement the System V IPC. Solaris 10 uses t

2012-08-28 09:34:40 1929

原创 int与size_t类型比较问题

size_t类型一般定义为unsigned long,即无符号长整形,当用sizeof、strlen等对变量取值时,返回结果为size_t类型;而int类型有符号,当用这两种类型作比较时,很容易出错。举例:int i=-1;size_t j=1;printf("%d\n", i结果很出乎意料:0总结:不能对不能符号类型值进行比较。

2012-08-28 09:31:23 2210

原创 线程特有数据==线程内静态变量

函数应用背景:在单线程程序中,函数经常使用全局变量或静态变量,这是不会影响程序的正确性的,但如果线程调用的函数使用全局变量或静态变量,则很可能引起编程错误,因为这些函数使用的全局变量和静态变量无法为不同的线程保存各自的值,而当同一进程内的不同线程几乎同时调用这样的函数时就可能会有问题发生。而解决这一问题的一种方式就是使用线程特定数据的机制。#include #include #incl

2012-06-27 09:03:11 880

原创 静态变量

1. static 变量静态变量的类型说明符是static。 静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量。 例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。2. 静态局部变量静态局部变量属于静态存储方式,它具有以下特点:(1)静态局部变量在函数内定义 它的生存期为整个源

2012-06-15 11:35:43 350

原创 数据库巡检

监听器是否正常能够使用sqlplus远程登录,如不能登录则告警,填写告警信息;当前会话数量SELECT count(*) FROM v$session;   超过50个表示太多,告警;查看MT分区情况SELECT min(PARTITION_NAME),max(PARTITION_NAME) FROM dba_tab_pa

2012-06-14 16:41:16 323

原创 信号-再强调

父子进程都需要进行信号处理,包括主进程!!!父进程:static void sig_fatal(int signo){        if(is_running){                is_running = 0;                longjmp(exit_jb,signo);        }       }void set_

2012-06-08 16:36:51 357

原创 共享内存-新学习

场景:1、主进程拉起各个子进程;2、各个子进程负责各自业务;3、共享资源都一般在共享内存申请;4、个别特殊业务进程自己申请资源;问题:其他进程是否可以访问特殊进程内的自己申请的特殊资源?答案:可以有限制的使用原因:特殊进程在主进程初始化过程中,也将自己的特殊资源初始化了,而其他进程在访问特殊进程的特殊资源时,看到的是该资源在主进程初始化的值,这个值不

2012-06-08 16:18:37 264

CDH5.9.0宽表性能测试

CDH5.9.0宽表性能测试

2017-03-17

hadoop2.7.3+hive1.2.1+spark2.0.1性能测试

hadoop2.7.3+hive1.2.1+spark2.0.1性能测试

2017-03-17

Windows驱动编程基础教程

本书非常适合熟悉Windows应用编程的读者转向驱动开发。所有的内容都从最基础的编程方法入手。介绍相关的内核API,然后举出示范的例子。这本书只有不到70页,是一本非常精简的小册子。所以它并不直接指导读者开发某种特定类型的驱动程序。而是起到一个入门指导的作用。

2010-04-02

Tomcat中web.xml文件的详细说明

Tomcat中web.xml文件的详细说明,并有实例介绍

2008-10-11

空空如也

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

TA关注的人

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