自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 webbench剖析

webbench:其为linux上一款web性能压力测试工具,它最多可以模拟3万个并发连接数来测试服务器压力,其原理为fork多个子进程,每个子进程都循环做web访问测试,子进程将访问的结果通过管道告诉父进程,父进程做最终结果统计。其主要原理如下图: 其代码实现中主要运用4个函数:getopt_long()系统命令行解析函数,build_request()函数,bench()函数,benchcor

2017-07-27 18:57:10 7822 2

原创 shell命令代换与eval命令

命令代换:在shell中用以下两种方式实现命令代换:`COMMAND` //反引号$(COMMAND) //$()命令代换即首先执行反引号或括号里的命令,将其结果立刻代换到当前命令行中或者代换赋予一个变量: 如下图,在一个shell脚本中打印日期: 以上执行过程中:第一种先执行反引号与()中date命令,执行完成,结果代换到命令行中然后用echo命令输出;第二种先执行了$()中的dat

2017-07-15 17:10:23 769

原创 TCP四次挥手后的TIME_WAIT状态

首先查看TCP建立连接与断开连接的两对端的状态图,如下: 由图可知客户端在收到服务端的请求断开连接带有的FIN位结束报文段,并发送ACK确认以后,其并没有直接关闭,进入到CLOSED状态,而是转变为TIME_WAIT状态。TIME_WAIT状态是做什么的? 在这个状态,顾名思义,即客户端连接要等待一段长为2MSL(报文段最大生存时间)的时间,才能关闭连接,在标准文档RFC 1122的MS

2017-07-14 15:45:31 1762

原创 复杂链表复制

#include <iostream>using namespace std;//复杂链表的复制struct RandomListNode { int label; struct RandomListNode *next, *random; RandomListNode(int x) :label(x) ,next(NULL)

2017-07-13 18:14:20 442

原创 合并两有序链表

struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};class Solution {public: ListNode* Merge(ListNode* pHead1, ListNode* pHead2

2017-07-13 18:04:20 425

原创 TCP三次握手与四次挥手

TCP建立连接与断开连接的过程如下图: TCP连接断开其状态转移路线如下: 其中以上1,2,3段则代表的为TCP建立连接的时的三次握手,过程如下:客户端client主动发起请求连接,发送携带SYN标志同步报文段1,并包含一个ISN值为1000的序号,并指定自己的最大段尺寸mss为1460等; 其代表含义为:序号是1000,这个序号在⽹网络通讯中⽤用作临时的地址,每发一个数据字节,这个

2017-07-13 16:14:05 582

原创 poll服务器

poll是I/O复用多路转接的另一种方法,其优化了select两个缺点:poll服务器支持的文件描述符数目没有上限;poll服务器函数接口的参数与select不同,其将输入与输出参数进行了分离(用结构体实现).函数如下:#include <poll.h>int poll(struct pollfd* fds,nfds_t nfds,int timeout);参数含义:fds:结构体数组,(

2017-07-10 21:31:11 822

原创 select服务器

unix下,可将I/O分为五种模型:阻塞I/O非阻塞I/OI/O复用(多路转接:select、(e)poll)信号驱动异步I/O其中前四种I/O模型为同步I/O,最后一个为异步I/O,而一个I/O操作可分为两步:等待数据就绪;数据的搬移.而高性能I/O则体现在如何减少等待的时间,即在I/O模型中的I/O复用则是通知底层I/O就绪的高效方法。 系统提供select函数来实现多路复用

2017-07-08 14:22:57 634

原创 多进程多线程TCP服务器

在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP地址+端口号”称为(套接字)socket。在TCP协议中,建立连接的两个进程各自有一个socket来标识,这两个socket组成的socket pair就唯一标识一个连接。 TCP/IP协议最早在BSD UNIX上实现,为TCP/IP协议设计的应用层编程接口称为socket API。此处使用socket A

2017-07-04 10:18:07 1077

空空如也

空空如也

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

TA关注的人

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