自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 LNMP环境搭建(CentOS7+Nginx1.10.1+MySQL5.6.31+PHP5.6.22)

零、准备工作安装wget:yum install wget -y安装gcc及g++:yum install gcc gcc-c++ -y后续所有源代码都下载到/usr/local/src目录防火墙更改配置及关闭selinux见另一篇文章《LAMP环境搭建》一、安装NginxNginx依赖pcre(重写rewrite)、zlib(网页gzip压缩)及openssl(加密传输)

2016-06-24 15:31:23 7116 2

转载 CentOS7安装apache.2.4.20

一. 下载安装包apr-1.5.2.tar.gzapr-util-1.5.4.tar.gzpcre-8.37.tar.gzhttpd-2.4.20.tar.gz二. 安装编译器yum install gcc -yyum install gcc-c++ -y三. 解压源码包安装顺序apr -> apr-util ,当然pcre可以乱入(顺序不重要);安装过程,

2016-06-22 16:18:39 318

原创 LAMP环境搭建

一、更改防火墙CentOS7默认使用的防火墙是firewall,我们将它更改为iptables:1、关闭firewall:sudo systemctl stop firewalld.service #停止firewallsudo systemctl disable firewalld.service #禁止firewall开机启动2、安装iptables:sudo yum

2016-05-29 08:57:27 387

转载 使用异步 I/O 大大提高应用程序的性能

使用异步 I/O 大大提高应用程序的性能学习何时以及如何使用 POSIX AIO APILinux® 中最常用的输入/输出(I/O)模型是同步 I/O。在这个模型中,当请求发出之后,应用程序就会阻塞,直到请求满足为止。这是很好的一种解决方案,因为调用应用程序在等待 I/O 请求完成时不需要使用任何中央处理单元(CPU)。但是在某些情况中,I/O 请求可能需要与其他进程产生交叠。可移

2013-09-30 16:03:59 476

转载 从用户角度理解"零拷贝" (Zero Copy I: User-Mode Perspective)

原文地址:http://www.linuxjournal.com/article/6345译文地址:http://blog.csdn.net/lovekatherine/archive/2007/03/25/1540291.aspx (解释Linux中的"零拷贝"特性,为什么有用以及何处需要改进之处) 如今几乎每个人都听说过Linux中所谓的"零拷贝"特性,然而我经常碰到没

2013-09-16 16:15:10 622

原创 select函数

该函数允许进程指示内核等待多个事件中的任何一个发生,并只在有一个或多个事件发生或经历一段指定的时间后才唤醒它。     作为一个例子,我们可以调用select,告知内核仅在下列情况发生时才返回:     •集合{1、4、5}中的任何描述符准备好读;     •集合{2、7}中的任何描述符准备好写;     •集合{1、4}中的任何描述符有异常条件待处理;     •已经历了10

2013-05-31 17:16:11 605

原创 close和shutdown函数

1 close函数     通常的Unix close函数也用来关闭套接字,并终止TCP连接。     #include      int close(int sockfd);     close将描述符引用计数减1。当该计数减到0时,对TCP套接字而言默认行为是把该套接字标记成已关闭,然后立即返回到调用进程。已关闭套接字不能再由调用进程使用,也就是说它不能再作为read或wr

2013-05-30 11:57:21 543

原创 I/0模型

UNIX下有5种可用的I/0模型:     •阻塞式I/0;     •非阻塞式I/0;     •I/0复用(select和poll);     •信号驱动式I/0(SIGIO);     •异步I/0(POSIX的aio_系列函数)。     一个输入操作通常包括两个不同的阶段:     (1)等待数据准备好;     (2)从内核向进程复制数据。

2013-05-30 10:16:05 618

原创 accept函数

accept函数由TCP服务器调用,用于从已完成连接队列队头返回下一个已完成连接。如果已完成连接队列为空,那么进程被投入睡眠(假定套接字为默认的阻塞方法)。#include int accept(int sockfd, struct sockaddr *cliaddr, socklen_t *addrlen);返回值:若成功则返回非负描述符,否则返回-1参数cliaddr和addr

2013-05-26 09:12:05 1112

原创 listen函数

listen函数仅由TCP服务器调用,它做两件事情:(1)  当socket函数创建一个套接字时,它被假设为一个主动套接字,也就是说,它是一个将调用connect发起连接的客户套接字。listen函数把一个未连接的套接字转换成一个被动套接字,指示内核应接受指向该套接字的连接请求。根据TCP状态转换图,调用listen导致套接字从CLOSED状态转换到LISTEN状态。(2)  本函数的第二

2013-05-26 09:09:54 1180

原创 bind函数

bind函数把一个本地协议地址赋予一个套接字。对于网际网协议,协议地址是32位的IPv4地址或128位的IPv6地址与16位的TCP或UDP端口号的组合。#include int bind(int sockfd, const struct sockaddr *myaddr, socklen_t addrlen);返回值:若成功则返回0,否则返回-1第二个参数是一个指向特定于协议的地

2013-05-26 08:45:59 1093

原创 connect函数

TCP客户用connect函数来建立与TCP服务器的连接。#include int connect(int sockfd, const struct sockaddr *servaddr, socklen_t addrlen);返回值:若成功则返回0,否则返回-1sockfd是由socket函数返回的套接字描述符,第二个、第三个参数分别是一个指向套接字地址结构的指针和该结构的大小。

2013-05-26 08:44:45 676

原创 socket函数

为了执行网络I/0,一个进程必须做的第一件事就是调用socket函数,指定期望的通信协议类型(使用IPv4的TCP、使用IPv6的UDP、Unix域字节流协议等)。#include int socket(int family, int type, int protocol);返回值:若成功则返回非负描述符,否则返回-1其中family参数指明协议族,它是图1中所示的某个常值。该参数

2013-05-26 08:33:20 591

原创 地址转换函数

有两组地址转换函数,它们在ASCII字符串与网络字节序的二进制值(这是存放在套接字地址结构中的值)之间转换网际地址。1、inet_aton、inet_addr和inet_ntoa函数这三个函数在点分十进制数串(例如“206.168.112.96”)与它长度为32位的网络字节序二进制值间转换IPv4地址。#include int inet_aton(const char *strpt

2013-05-26 08:05:32 1024

原创 字节操纵函数

操作多字节字段的函数有两组,它们既不对数据作解释,也不假设数据是以空字符结束的C字符串。当处理套接字地址结构时,我们需要这些类型的函数,因为我们需要操纵诸如IP地址这样的字段,这些字段可能包含值为0的字节,却不是C字符串。名字以b(表示字节)开头的第一组函数起源于4.2BSD,几乎所有现今支持套接字函数的系统仍然提供它们。名字以mem(表示内存)开头的第二组函数起源于ANSI C标准,支持AN

2013-05-22 14:18:48 666

原创 字节排序函数

考虑一个16位整数,它由两个字节组成。内存中存储这两个字节有两种方法:一种是将低序字节存储在起始地址,这称为小端(little-endian)字节序;另一种是将高序字节存储在起始地址,这称为大端(big-endian)字节序。图1展示了这两种格式。       图1  16位整数的小端字节序和大端字节序       在该图中,我们在顶部标明内存地址增长的方向为从右到左,在底部标明内存地

2013-05-22 13:39:37 708

原创 套接字地址结构

大多数套接字函数都需要一个指向套接字地址结构的指针作为参数。每个协议族都定义了它自己的套接字地址结构。这些结构的名字均以sockaddr_开头,并以对应每个协议族的唯一后缀结尾。1、IPv4套接字地址结构IPv4套接字地址结构通常也称为“网际套接字地址结构”,它以sockaddr_in命名,定义在头文件中。图1给出了它的POSIX定义:  struct in_addr {  in_a

2013-05-21 21:24:54 1155

MD5 C++实现代码,带注释

MD5 C++实现代码,发现其他MD5注释不多,所以特意加了详细注释。

2012-07-25

空空如也

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

TA关注的人

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