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

原创 VSCODE设置说明教程

VSCODE设置说明教程一篇很不错的帖子,包含函数调用的跟踪配置https://www.jianshu.com/p/8adbcbad1ad0gtag下载http://adoxa.altervista.org/global/需要的工具https://mp.csdn.net/console/upDetailed欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdo

2020-07-21 14:46:25 318

原创 TCP协议解析以及状态图详细分析

TCP协议解析以及状态图详细分析TCP数据报格式与UDP协议一样TCP协议也有源端口号和目的端口号,通讯的双方由IP地址和端口号标识。32位序号、32位确认序号、窗口大小。4位首部长度和IP协议头类似,表示TCP协议头的长度,以4字节为单位,因此TCP协议头最长可以是4x15=60字节,如果没有选项字段,TCP协议头最短20字节。URG、ACK、PSH、RST、SYN、FIN是六个控制位。16位检验和将TCP协议头和数据都计算在内。紧急指针和各种选项的解释从略。TCP协议TCP状态转换这个图N多

2020-05-11 12:00:20 655

原创 OSI七层模型详解

OSI七层模型详解典型协议传输层 常见协议有TCP/UDP协议。应用层 常见的协议有HTTP协议,FTP协议。网络层 常见协议有IP协议、ICMP协议、IGMP协议。网络接口层 常见协议有ARP协议、RARP协议。TCP传输控制协议(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。UDP用户数据报协议(User Datagram Protocol)是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

2020-05-10 11:07:30 4149 1

原创 linux线程与进程同步锁机制

linux线程与进程同步锁机制同步概念所谓同步,即同时起步,协调一致。而,编程中、通信中所说的同步与生活中大家印象中的同步概念略有差异。“同”字应是指协同、协助、互相配合。主旨在协同步调,按预定的先后次序运行。线程同步同步即协同步调,按预定的先后次序运行。线程同步,指一个线程发出某一功能调用时,在没有得到结果之前,该调用不返回。同时其它线程为保证数据一致性,不能调用该功能。“同步”...

2020-05-08 00:26:35 1092

原创 linux进程与线程的区别

进程与线程的区别线程LWP:light weight process 轻量级的进程,本质仍是进程(在Linux环境下)进程:独立地址空间,拥有PCB线程:也有PCB,但没有独立的地址空间(共享)区别:在于是否共享地址空间。 独居(进程);合租(线程)。Linux下: 线程:最小的执行单位进程:最小分配资源单位,可看成是只有一个线程的进程。Linux内核线程实现原理类Unix系...

2020-05-07 23:47:34 283

原创 linux中线程共享资源

linux中线程共享资源线程概念线程LWP:light weight process 轻量级的进程,本质仍是进程(在Linux环境下)进程:独立地址空间,拥有PCB线程:也有PCB,但没有独立的地址空间(共享)区别:在于是否共享地址空间。 独居(进程);合租(线程)。Linux下: 线程:最小的执行单位进程:最小分配资源单位,可看成是只有一个线程的进程。Linux内核线程实现...

2020-05-07 23:17:06 1673

原创 linux下常用四大进程间通信机制

linux下常用四大进程间通信机制Linux环境下,进程地址空间相互独立,每个进程各自有不同的用户地址空间。任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程之间不能相互访问,要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,InterProcess Communication...

2020-05-07 19:07:48 1283

原创 父子进程共享内容

父子进程共享内容进程简介程序,是指编译好的二进制文件,在磁盘上,不占用系统资源(cpu、内存、打开的文件、设备、锁…)进程,是一个抽象的概念,与操作系统原理联系紧密。进程是活跃的程序,占用系统资源。在内存中执行。(程序运行起来,产生一个进程)CPU和MMU中央处理器(CPU)虚拟地址空间0-4G,实际上是不存在的,是可用的地址空间是4G,而真正实际占用的内存只有kb大小。PCB映...

2020-05-07 18:05:38 13943

原创 linux socket通信出错封装处理

linux socket通信出错封装处理wrap.c#include <stdlib.h>#include <errno.h>#include <sys/socket.h>void perr_exit(const char *s){ perror(s); exit(1);}int Accept(int fd, struct sockaddr ...

2020-05-04 17:09:58 218

原创 网络通信C/S模型-TCP

网络通信C/S模型-TCP基本模型图如下:服务器调用socket()、bind()、listen()完成初始化后,调用accept()阻塞等待,处于监听端口的状态,客户端调用socket()初始化后,调用connect()发出SYN段并阻塞等待服务器应答,服务器应答一个SYN-ACK段,客户端收到后从connect()返回,同时应答一个ACK段,服务器收到后从accept()返回。数据传输...

2020-05-04 17:05:31 451

原创 socket网络编程---基础理论

socket网络编程—基础理论套接字概念Socket本身有“插座”的意思,在Linux环境下,用于表示进程间网络通信的特殊文件类型。本质为内核借助缓冲区形成的伪文件。既然是文件,那么理所当然的,我们可以使用文件描述符引用套接字。与管道类似的,Linux系统将其封装成文件的目的是为了统一接口,使得读写套接字和读写文件的操作一致。区别是管道主要应用于本地进程间通信,而套接字多应用于网络进程间数据...

2020-05-04 16:55:54 198

原创 本地套接字---domain

本地套接字—domainsocket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket。虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层...

2020-05-04 15:53:30 300

原创 UDP高并发---服务器/客户端

UDP服务器传输层主要应用的协议模型有两种,一种是TCP协议,另外一种则是UDP协议。TCP协议在网络通信中占主导地位,绝大多数的网络通信借助TCP协议完成数据传输。但UDP也是网络通信中不可或缺的重要通信手段。相较于TCP而言,UDP通信的形式更像是发短信。不需要在数据传输之前建立、维护连接。只专心获取数据就好。省去了三次握手的过程,通信速度可以大大提高,但与之伴随的通信的稳定性和正确率便得...

2020-05-04 10:42:13 3469

原创 高并发服务器---多进程/多线程

高并发服务器高并发服务器框架网上看到这张图不错,就拿过来了。多进程并发服务器父进程监听,子进程领任务做具体逻辑的实现。父进程关闭cfd,close(cfd),子进程关闭lfd,close(lfd),因为父子进程共享文件描述符表。子进程回收机制,通过信号捕捉函数while(1){waitpid()...}捕捉的信号SIGCHLD()进程死亡只能由父进程回收使用多进程并发服务器时...

2020-05-04 10:30:18 740

原创 线程池thread_pool源码分析

线程池thread_pool源码分析#include <stdlib.h>#include <pthread.h>#include <unistd.h>#include <assert.h>#include <stdio.h>#include <string.h>#include <signal.h>...

2020-04-29 21:37:15 283

原创 libevent库epoll反应堆模型源码分析

libevent库epoll反应堆模型源码分析/* *epoll基于非阻塞I/O事件驱动 */#include <stdio.h>#include <sys/socket.h>#include <sys/epoll.h>#include <arpa/inet.h>#include <fcntl.h>#include &l...

2020-04-29 21:33:59 233

原创 多路转接I/O select/poll/epoll高并发模型详解

select/poll/epoll详解select1.select能监听的文件描述符个数受限于FD_SETSIZE,一般为1024,单纯改变进程打开的文件描述符个数并不能改变select监听文件个数2.解决1024以下客户端时使用select是很合适的,但如果链接客户端过多,select采用的是轮询模型,会大大降低服务器响应效率。#include <sys/select.h>...

2020-04-29 00:03:04 352

leetcode题解leetcode题解code.zip

leetcode题解

2020-08-13

gtag.rar

gtag支持vscode跳转。

2020-07-21

vscode c++ 配置说明教程 LLVM.rar

vscode c++ 配置说明教程 以及 方法调用跟踪的配置,快速调试代码以及编写代码。所以选择C++ Intellisense.(20191018注:c++Intellisense虽然能查看/跳转定义, 查看引用, 但是不能跳转到声明和变量, 而C/C++插件可以, 所以重新选用C/C++)

2020-07-21

空空如也

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

TA关注的人

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