自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(114)
  • 收藏
  • 关注

原创 curl学习(一):段错误

c语言使用curl时出现段错误问题发现 在使用c语言编程时,按照一般流程使用curl进行http数据的获取,没有错误,但是当开启线程调用该函数频繁时,会出现段错误,并且复现起来较为困难,经后期排查,发现问题出现在了curl上面,处理完该bug后,稍加整理,作为以后提醒原因原来libcurl在configure默认配置编译的情况下,它是使用alarm+siglongjmp实现域名解析超时。当多

2016-06-13 18:33:41 3135 1

原创 linux下popen的使用心得

函数原型:  #include “stdio.h”  FILE popen( const char command, const char* mode )参数说明:  command: 是一个指向以 NULL 结束的 shell 命令字符串的指针。这行命令将被传到 bin/sh 并使用 -c 标志,shell 将执行这个命令。  mode: 只能是读或者写中的一种,得到的返回值(标准 I/O 流)也

2016-05-24 15:23:42 14251 1

原创 正向代理与反向代理的区别(清晰明了)

一、正向代理的概念  正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从网站的角度,只在代理服务器来取内容的时候有一次记录,有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代

2016-05-05 21:22:02 495

原创 Linux下C语言计算文件的md5值(转)

代码直接可用,更改一下文件路径及名称即可如果是字符串,则只需调用MD5Update这个函数即可感谢原创作者 http://www.tuicool.com/articles/jYB77n#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <sys/types.h>#inclu

2016-04-28 10:06:34 2867

原创 一个简单的makefile的例子

SRC += main.cSRC += mysql_pool.cSRC += email_process.ctarget = maincc = gcc cflags = -L/usr/bin/mysql -I/usr/include/mysql -lmysqlclient option = -Wall -gobj = $(SRC:%.c=%.o)all:$(target)$(targe

2016-04-21 16:41:58 606

原创 /usr/bin/ld: cannot find -lmysqlclient解决方法

/usr/bin/ld: cannot find -lmysqlclient解决方法1、使用mysql进行编译时,出现下面的错误2、使用 locate -bLi –regex -r mysqlcli命令,查看libmysqlclient的位置3、这是之前的makefile中的编译选项4、修改如下,添加 -L/usr/lib/mysql

2016-04-15 16:09:26 10378

原创 HTTPS学习(一):工作过程

1、客户端发起HTTPS请求这个没什么好说的,就是用户在浏览器里输入一个https网址,然后连接到server的443端口。2. 服务端的配置采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面(startssl就是个不错的选择,有1年的免费服务)。这套证书其实就是一

2016-03-30 17:25:15 451

原创 mysql主从同步Slave_SQL_Running: No,Last_Errno: 1062的解决方法

在备节点上mysql> show slave status\G*************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.101

2016-03-17 14:11:15 1540

原创 AlphaGo开源代码

https://github.com/Rochester-NRT/AlphaGo注:本人只是搬运工。。。。

2016-03-12 21:38:40 12086

原创 Round-Robin负载均衡算法及其实现原理(转)

轮询调度算法(Round-Robin Scheduling)  轮询调度算法的原理是每一次把来自用户的请求轮流分配给内部中的服务器,从1开始,直到N(内部服务器个数),然后重新开始循环。   算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度。   轮询调度算法流程   假设有一组服务器N台,S = {S1, S2, …, Sn},一个指示变量i表示上一次选择的服务器I

2016-03-08 20:05:26 1156

原创 关于linux socket 编程 端口复用的理解

端口复用的理解在linux socket网络编程中,大规模并发TCP或UDP连接时,经常会用到端口复用: int opt = 1; if(setsockopt(sockfd, SOL_SOCKET,SO_REUSEADDR, (const void *) &opt, sizeof(opt))){ perror("setsockopt"); return -1;}那么什么是端口复用

2016-03-06 13:26:24 7465

原创 ldirectord.cf文件详解

ldirectord使用一个配置文件建立IPVS表,你可以给这个文件取任意合法的名字,但你必须将其放于/etc/ha.d/conf目录下,例如:在VIP 209.100.100.3上的IPVS配置文件可以是:checktimeout=20checkinterval=5autoreload=yesquiescent=nologfile="info"virtual=209.100.100.3:

2016-03-05 14:20:05 1116

原创 Ipvsadm参数详解(常用命令)

[root@localhost ipvsadm]# ipvsadm -h ipvsadm v1.24 2005/12/10 (compiled with popt and IPVS v1.2.1) Usage: ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask] ip

2016-03-05 14:07:01 1703 1

原创 TCP长连接与短连接的区别

1. TCP连接当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次握手的,而释放则需要4次握手,所以说每个连接的建立都是需要资源消耗和时间消耗的经典的三次握手示意图:经典的四次握手关闭图: 2. TCP短连接我们模拟一下TCP短连接的情况,client向server发

2016-03-01 19:21:25 429

原创 C/C++ union用法

在C/C++程序的编写中,当多个基本数据类型或复合数据结构要占用同一片内存时,我们要使用联合体;当多种类型,多个对象,多个事物只取其一时(我们姑且通俗地称其为“n 选1”),我们也 可以使用联合体来发挥其长处。首先看一段代码:union myun {struct { int x; int y; int z; }u; int k; }a; int main() { a.u.x =4;

2016-02-29 19:29:29 433

原创 给毕业了奋斗了一年的人(转)

1、不要忘记去年你离开学校的梦想,虽然快一年的工作让你有时很疲惫,很茫然,甚至也很悲观,但不要忘了去年散伙饭上,你喝下最后一杯酒,给自己的承诺。 2、不要忘记时常给自己的父母通一下电话,也许,你自己正为了美好的未来努力的打拼,但你日渐苍老的父母时刻惦记着你,他们听到你的声音,会很高兴。[@more@] 3、周末的时候,给那些在学校里一同喝酒,逃课,打cs的哥们发个短信,有些人也许很少有机会在一

2016-02-29 14:58:59 438

原创 计算机时间、unix时间、linux时间、java时间为何以1970年1月1日为原点?从1970年1月1日开始计算?

计算机时间、unix时间、linux时间、java时间为何以1970年1月1日为原点?从1970年1月1日开始计算?最初计算机操作系统是32位,而时间也是用32位表示。 System.out.println(Integer.MAX_VALUE); 2147483647 Integer在JAVA内用32位表示,因此32位能表示的最大值是2147483647。另外1年365天的总秒数是315360

2016-02-21 21:16:12 1811

原创 Linux C获取系统的运行时间

1、前言  时间对操作系统来说非常重要,从内核级到应用层,时间的表达方式及精度各部相同。linux内核里面用一个名为jiffes的常量来计算时间戳。应用层有time、getdaytime等函数。今天需要在应用程序获取系统的启动时间,百度了一下,通过sysinfo中的uptime可以计算出系统的启动时间。2、sysinfo结构  sysinfo结构保持了系统启动后的信息,主要包括启动到现在的时间,可用

2016-01-26 17:39:55 6266

原创 火狐浏览器自动安装xpi扩展

一、终端敲入命令firefox xxxx.xpi但是仍然需要点击 安装 按钮二、自动安装mkdir ~/extensionscp xxxx.xpi ~/extensionscd ~/extensionsunzip xxxx.xpirm xxxx.xpi获取该扩展的id号打开 install.rdf 文件,找到第一个类似于 {d10d0bf8-f5b5-c8b4-a8b2-2b9879e

2016-01-21 15:13:01 4007

原创 火狐浏览器扩展不兼容问题解决

开发火狐浏览器扩展,有时会提示不兼容,如下图 这时只需要简单的几步操作即可:1、用好压打开该xpi文件,找到install.rdf文件 2、使用内部查看器打开 3、找到maxversion,并将其更改为较大的数值,比如8 4、ctrl+s进行保存、5、重新添加扩展,即可!该问题解决!

2016-01-12 15:13:56 2719

转载 Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

今天在测试环境使用yum安装,遇到一个问题:Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again处理很简单,修改文件“/etc/yum.repos.d/epel.repo”, 将baseurl的注释取消, mirrorlist注释掉。即可。参考URL: http://www

2015-12-29 15:14:04 369

原创 centos安装测试heartbeat

Yum安装 heartbeat一、环境 (应该有200M左右,建议耐心等待安装完) yum install e2fsprogs-devel libuuid-devel Libnet libtool-ltdl-devel libxslt-devel bzip2-devel glib2-devel perl* glib* yum install autoconf automake libtool

2015-12-25 17:19:30 824

原创 linux下使用tar与openssl进行加解密

1、使用tar对文件压缩加密: 在当前目录下有一个pma目录的文件夹:tar -zcvf - pma|openssl des3 -salt -k password | dd of=pma.des3完成将得到一个pma.des3的打包文件,用你设置的密码替换password。2、使用tar对加密文件解压:dd if=pma.des3 |openssl des3 -d -k password|tar

2015-12-23 12:07:17 4038

原创 linux下opensll加解密详解

OpenSSL是一个开源的用以实现SSL协议的产品,它主要包括了三个部分:密码算法库、应用程序、SSL协议库。Openssl实现了SSL协议所需要的大多数算法。下面介绍使用Openssl进行文件的对称加密操作。一、Openssl支持的加密算法有:-aes-128-cbc -aes-128-cfb -aes-128-cfb1-aes-128-cfb8 -aes-128-ecb -aes-128-o

2015-12-23 12:05:50 1806

原创 AEC加解密算法c语言实现

利用openssl对字符串进行AES加解密,代码如下 环境:需要在linux下搭建openssl开发环境。#include <stdio.h>#include <openssl/aes.h>#include <stdlib.h>#include <string.h>int encrypt(char *input_string, char **encrypt_string){ AES

2015-12-23 11:55:03 2637

原创 凯撒加解密算法C语言实现

凯撒加密(Caesar cipher)是一种简单的消息编码方式:它根据字母表将消息中的每个字母移动常量位k。举个例子如果k等于3,则在编码后的消息中,每个字母都会向前移动3位:a会被替换为d;b会被替换成e;依此类推。字母表末尾将回卷到字母表开头。于是,w会被替换为z,x会被替换为a。如果是将移动的位数用随机数进行代替,并且记录下该随机数,则破解密码的难度将大大增加。//linux c 代码#in

2015-12-22 13:43:31 18603 1

原创 将字符串循环左移右移

#include <stdio.h> #include <stdlib.h> #include <string.h> /*********************** 最节约时间的方法 ************************/ /** * @brief 将字符串向左旋转n个位置 * @param str 待旋转的字符串 * @param[in] mo

2015-12-22 11:14:20 858

原创 Centos下yum安装heartbeat

在centos下如果直接yum 安装的话 提示找不到包。原因是针对centos6.2的heartbeat尚未发布,解决办法可以到第三方资源为库中找,这里使用epel先下载安装epelwget http://mirrors.sohu.com/fedora-epel/6/i386/epel-release-6-6.noarch.rpm rpm -ivh epel-release-6-6.noarc

2015-12-17 15:30:43 4779

原创 linux使用openssl对socket通信加密

//普通的tcp服务器端#include <stdio.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>int main(int argc, char *argv[]){ int server_sockfd;//服务器端套接字 int cl

2015-12-16 14:51:41 4177 2

原创 GTK循环向标签写内容导致窗口白屏的问题

用GTK编写客户端,需要不停的获取数据然后写入标签,一段时间后,窗口变成白屏,控件都没有显示出来,但是按钮仍然可以点击,点击后有效果出现,就是看不见,效果如下: 这是不停的交替向标签写入“hello”和“world”内容,每一秒写一次。 在虚拟中运行了近20个小时后,窗口变成白屏。

2015-12-04 14:42:55 774

原创 service ipvsadm start 启动失败

service ipvsadm start 启动失败配置了ipvsadm table文件但是启动失败, Applying IPVS configuration: Try `ipvsadm -h’ or ‘ipvsadm –help’ for more information 这是因为没有进行save操作执行 service ipvsadm saveservice ipvsadm start即可

2015-12-02 11:20:54 2511

原创 Centos安装ipvsadm错误解决

原因是缺少相应的库文件 执行: yum install popt* -y yum install libnl* -y 即可

2015-12-01 17:14:02 1440

原创 Epoll 的udp通信代码(服务器+客户端)

udp +epoll+多线程服务器 udp_epoll_server.c:

2015-11-29 14:37:10 3785

原创 Epoll 的tcp通信代码(服务器+客户端)

Epoll 的tcp通信代码(服务器+客户端)

2015-11-29 14:33:45 2654 1

原创 HTTPS建立连接都发生了什么

HTTPS建立连接都发生了什么?首先我们先登录百度,www.baidu.com 哇!发现http变成了https! 下面我们就用WireShark 来分析一下,HTTPS建立前的这几毫秒都发生了什么。

2015-11-27 17:21:58 750

原创 linux下GTK图形界面取消关闭按钮和最大化按钮代码

由于项目需要,需要将GTK图形界面的关闭按钮和最大化按钮去掉,查阅很多资料终于解决。先分享出来,方便大家学习。

2015-11-25 13:57:30 3898

原创 实例讲解Mysql中各种Join的作用

实例讲解Mysql中各种Join的作用Mysql4.1开始支持SQL的子查询。这个技术可以使用SELECT语句来创建一个单列的查询结果,然后把这个结果作为过滤条件用在另一个查询中。使用子查询可以一次性的完成很多逻辑上需要多个步骤才能完成的SQL操作,同时也可以避免事务或者表锁死,并且写起来也很容易。

2015-11-20 11:11:44 750

原创 Freeradius配置文件radiusd.conf详解

Radiusd.conf文件是freeradius的核心配置文件, 其中设置了 服务器的基本信息, 配置文件与日志文件的环境变量,并详细配置freeradius模块所使用的信息, 与认证和计费所使用模块的配置. 配置的变量定义的形式为${foo},他们就在这个文件上,并且不随请求到请求而改变. 变量的格式参照 variables.txt.1.1 环境变量此处定义其他配置文件以及

2015-10-30 11:42:51 20867

原创 FreeRadius服务日志模块配置

FreeRadius日志服务配置 一、FreeRadius想要能够写log日志,就不能使用radiusd -X 启动。 二、配置radiusd.conf  Log{auth = yesauth_badpass = yesauth_goodpass = yes} 配置 sites-available/defaultAuthorize{auth_lo

2015-10-30 11:30:22 8618 1

原创 FreeRadius客户端基础配置及测试

linux系统:centos 6.5FreeRadius客户端: 1.1.7 一、安装freeradius-client-1.1.7.tar.gz下载 wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-client-1.1.7.tar.bz2(有可能会提示找不到文件,我下载时 直接将freeradius-clie

2015-10-21 16:53:55 9412

空空如也

空空如也

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

TA关注的人

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