自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 makefile的VPATH坑

源问题链接:https://bbs.csdn.net/topics/380178411问题:我的文件目录结构是:./makefileheaderglobe.hsrcmain.c现在我写的简单makefile的一部分是:#开始vpath%.c./srcvpath%.h./headermain.o:main.cglobe.h.PHONYcl...

2019-02-28 18:40:24 1076

原创 多文件的linux编译

编译虐我千百遍,我待编译如初恋。1,艰难的allinone.cc编译。我想要编译一个单文件allinone.cc。这个文件包含了其他的头文件,目录如下。为此,我在 shell中输入g++ allinone.cc -std=c++11 -lmuduo_net -lmuduo_base -lpthread结果编译失败,报错:2.原因分析。虽然allinone.c...

2019-02-27 21:10:52 321

原创 code::blocks添加库文件

1. bash命令行g++ timeclient.cc -std=c++11 -lmuduo_net -lmuduo_base -lpthread2. 相应的code::blocks设置。设置-std=c+=11 设置静态库,直接点击add,输入muduo_net、muduo_base、pthread就可以了。注意对顺序依然有要求,底层的放到下边。...

2019-02-27 16:52:26 4150

原创 muduo库的摸索(1)

muduo库的安装1. 从https://github.com/chenshuo/muduo下载muduo文件。(只要download会自动打包一个muduo_master.zip文件)2.接下来是在linux中的命令行了sudo apt-get install cmake(安装cmake)sudo apt-get install libboost-dev libboost-te...

2019-02-27 16:24:26 260

原创 简单TCP客户/服务器的理解

主要组成:1. 服务器部分:socket、bind、listen之后,for循环内accept获取 “已连接套接字” 描述符、fork子程序处理该连接的数据传输。2. 客户端部分:socket、connect之后,调用数据发送函数向该套接字内写数据,即发送数据。注意点:1. 进程exit后,会关闭所有打开的文件描述符,包括套接字描述符。2. 信号处理:建立连接后的服务器进程是一...

2019-02-21 22:24:31 373

原创 为什么 while((pid = waitpid(-1, &stat, WNOHANG)) > 0)能处理所有子进程

在unp中有一节代码是这样的:void sig_chld(int signo){ pid_t pid; int stat; while((pid = waitpid(-1, &stat, WNOHANG)) > 0){ printf("child %d terminated\n...

2019-02-21 19:57:24 1097

转载 信号处理对进程执行的影响

转自:https://www.cnblogs.com/Carrie-0173/p/6394533.html当要处理信号捕捉问题时,我们可以为某一信号设置自定义的信号处理函数,这个信号处理函数会对正在执行的进程有怎样的影响?一、对进程执行的干预:1.当信号被捕捉时,进程正在执行用户态程序指令,(即用户自行编写的代码 或 库程序代码):  此种情况下,进程正执行的代码将被暂停,转而去执...

2019-02-21 17:09:13 204

原创 TCP套接字编程函数的理解

socket函数作用:创建一个套接字(可以是TCP的,也可以是其他协议的,取决于socket的参数),返回一个标志该套接字的套接字描述符。关键:所创建的套接字并不含有IP和端口号。可以认为,socket创建的套接字是空的,需要其他函数往里面填写IP和端口号等信息。使用方:客户端和服务器端都要使用。connect函数作用:与TCP服务器端建立连接。适用方:客户端。关键...

2019-02-21 13:33:03 222

原创 理解套接字地址结构

套接字是什么?套接字是两个数值的组合:IP地址和端口号。在传输层,TCP连接由两组套接字唯一确定,也就是两个ip和其相应的端口号。套接字地址结构是什么?在LINUX中,套接字被表现为一种数据结构。如下图所示。只需要关注sockaddr_in中的三个字段:sin_family、sin_addr、sin_port。其中family字段是对网络协议的说明(如是ipv4还是ipv6),addr...

2019-02-20 19:29:59 730

原创 TCP状态图中的TIME_WAIT状态

TCP状态图参见https://blog.csdn.net/timerzip/article/details/87739621TIME_WAIT状态小概念:TIME_WAIT状态是一种状态,端点处于这种状态时,会维护一些信息。TIME_WAIT状态会存在2MSL的时长。作用:可靠地实现TCP全双工连接的终止。通过维护一定时间主动方的最终状态来实现。从TCP连接的断开讲起:是“T...

2019-02-20 19:13:26 208

原创 理解运输层的端口

端口来源:运输层的数据最终是要传递给应用层的进程的,那么如何准确的传给目的进程就成为了一个问题。因为源主机和目的主机很可能是不同的系统,因而无法使用进程标志符(二者的标识符系统可能不同)来确定进程。因此,端口产生了。端口的作用:通信的终点是一个进程,但是只要把数据传递给指定的端口就行了,TCP\udp\sctp等协议负责将该端口的数据传递到目的进程。端口使用原理:由“作用”理解...

2019-02-20 10:16:25 4969

转载 TCP第三次握手失败怎么办

转自:http://www.cnblogs.com/heyonggang/p/3386415.htmlTCP第三次握手失败怎么办 笔试题中经常会遇到这个问题:如果tcp建立连接时第三次握手失败,tcp会做何操作?该问题的本质是判断我们对tcp的状态转换是否能有比较深刻的理解。只要理解了下面的状态转换图,很容易回答上述问题。 ...

2019-02-19 22:35:28 1198

转载 TCP是一种无记录边界的字节流协议

无记录边界:上层传下来的是以bit流的形式传下来的,比如限定在一个固定数值的bits,到这个固定长度断一下,这就是无边界的。如果上层传下来的是一个完整的包的形式,比如有像固定的包头,CRC检验码,长度标志位等等这些信息的,打成一个包的形式发给下层的,这样的就是有边界的了  愿问题:https://bbs.csdn.net/topics/300096910...

2019-02-19 15:33:48 759

muduo库reactor类结构分析

用来分析muduo的reactor结构,怕自己忘了,写个思维导图总结一下

2019-03-10

空空如也

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

TA关注的人

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