自定义博客皮肤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)
  • 收藏
  • 关注

转载 一个http请求发送到后端的详细过程

我们来看当我们在浏览器输入http://www.mycompany.com:8080/mydir/index.html,幕后所发生的一切。首先http是一个应用层的协议,在这个层的协议,只是一种通讯规范,也就是因为双方要进行通讯,大家要事先约定一个规范。1.连接 当我们输入这样一个请求时,首先要建立一个socket连接,因为socket是通过ip和端口建立的,所以之前还有一个DNS解析过程

2017-03-30 19:34:23 8978 2

原创 Linux下shell脚本中的字符串截取

shell中字符串截取有8种方法: 现在假设有变量 val=http://Facebook.com 1. # 号截取,删除左边字符,保留右边字符,具体看下图: 执行结果图: echo ${val#*//} 其中 val 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符,即删除 http://2.## 号截取,删除左边字符,保留右边字符,如图: 执行

2017-03-28 23:18:03 862

原创 I/O多路复用之select

在介绍select之前,我们先来了解Unix下五种I/O模型,分别有:阻塞I/O, 非阻塞I/O, 信号驱动I/O, 异步I/O以及I/O多路复用,而系统提供的select函数就是来实现多路复用I/O模型的,下面将围绕以下几方面来详细介绍一下这个函数: 1.select函数的作用; 2.select函数的头文件,原型,各个参数所代表的含义及函数返回值; 3.select模型的理解;

2017-03-23 18:18:36 777

原创 Linux下TCP多进程/多线程套接字通信

上篇文章简单的介绍了一下Linux下套接字通信的相关知识: http://blog.csdn.net/qq_29503203/article/details/60961537但是存在一个缺陷就是只能进行单进程通信,我们都知道实际上不可能一个服务器一次只能有一个客户端,所以在这里对其进行一个改进,我们通过fork出子进程去完成客户端发来的请求,而父进程只需用去accpet连接请求

2017-03-12 11:01:11 4289 2

原创 Linux下简单的socket通信

TCP套接字编程流程图:此模型不仅适合迭代服务器,也适合并发服务器,不管服务器是并发的还是迭代的,两者实现流程类似,只不过并发服务器接收客户请求(accept)后会fork子进程,由子进程处理客户端的请求,而迭代服务器则会一直处理客户端的请求直至请求结束,因此在这期间不会再响应其他客户端的请求。

2017-03-10 21:32:41 7213

原创 TCP中的三次握手和四次挥手

本文将主要从以下几方面进行介绍:TCP的段格式三次握手四次挥手的详解过程连接建立和释放过程中的状态转换几个有关TCP连接和释放连接的常见问题1. 在介绍TCP的三次握手和四次挥手过程之前,我们先来看看TCP报文段格式以及其内容代表的含义.2.三次握手,四次挥手的详解过程(1) 三次握手的建立下面再通俗的模拟一下这个过程:

2017-03-08 18:21:23 807

原创 TCP使用的四种计时器

本文将围绕TCP中为什么有计时器,计时器的种类以及它们各自的特点来阐述。TCP中为什么要设置计时器        TCP 是提供给可靠的传输层,它使用的方法之一就是确认从另一端收到的数据,但是数据和确认都可能会丢失。TCP 通过在发送时设置一个定时器来解决这个问题。如果当定时器溢出时还没收到确认,它就会重传该数据(关键在于超时和重传策略,即怎样决定超时的时间间隔和如何确定重传的频率

2017-03-06 14:52:11 2636

原创 gdb调试多线程

gdb的线程调试命令将在下面边调试边介绍,下面先给出示例代码:示例代码:#include#include#include void* pthread_run1(void* arg){ int count=5; while(count--) { printf("hello world!\n"); sleep

2017-03-05 19:14:18 716

原创 gdb调试多进程

先前我们初步了解了一些有关gdb调试的基本命令,今天我们尝试着用它来调试多进程和多线程,看看在调试过程中它们是如何切换的。gdb调试多进程1. 默认设置下,在调试多进程程序时gdb只会调试父进程,但是为了可以对父进程和子进程都做到调试,gdb新版本就附加了调试子进程的功能。但需要设置follow-fork-mode(默认值:parent) 和 detach-on-fork(默认

2017-03-05 16:36:32 636

空空如也

空空如也

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

TA关注的人

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