自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 go语言基础(仅供个人学习)

常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。const 相当于普通变量的 var关键字常量的定义格式: const identifier [ type ] = value显式类型定义: const b string = "abc" 隐式类型定义: const b = "abc"一般来说 iota 与 const 连用 iota 有自增的作用iota 从0开始defer语句被用于预定对一个函数的调用。可以把这类被defer语句调用的函数称为延迟函数。

2024-10-26 09:56:05 868

原创 网络服务器封装的函数

【代码】网络服务器封装的函数。

2024-10-03 12:55:07 276

原创 linux下c++实现服务器B/S

int i = 0;i++;return i;const charstr要做处理的字符串后续参数和scanf函数类型const charpathname所要判断的文件路径statbuf传出参数,保存打开文件对应的属性const chardirp目录的所在路径struct dirent *namelist(本质是一个数组)

2024-10-03 12:41:18 2052

原创 c++线程池代码

【代码】c++线程池代码。

2024-10-02 14:50:41 402

原创 epoll反应堆代码

【代码】epoll反应堆代码。

2024-10-02 14:44:49 327

原创 高并发服务器(图片借鉴,仅供个人学习)

int nfds监听的所有socket中,最大文件描述符 + 1fd_setreadfds(传入传出参数)监视文件描述符的一个集合,我们监视其中的文件描述符是不是可读,就相当于观察读缓冲区是否存在待读取数据,把可能要读取的文件描述符构成一个 fd_set 类型的变量,作为参数传入,该函数会把 readfds 作为传入参数时包含的文件描述符进行识别,如果其中的文件描述符满足了对应的读缓冲区具有数据,则把这些文件描述符合成一个位图,作为传出参数传出fd_setwritefds(传入传出参数)

2024-10-02 14:41:36 748

原创 网络基础(图片借鉴,仅供个人学习)

假设由客户端先关闭,那么相当于关闭客户端的写缓冲区ACK应答是控制报文,由icmp、arp、rip转发,而关闭的是数据报文发送通道,发ACK不需要缓冲区,内核发送ACK只是关闭了客户端的写缓冲区,并没有关闭socket。

2024-10-02 14:38:37 984

原创 libevent库(图片借鉴,仅供个人学习)

basevent_base_new() 函数返回值, base底座需要通信的文件描述符,本参数用于参数4, event_callback_fn回调函数的使用short what指定本参数将要监听读还是写事件EV_READ 监听读事件EV_WRTIE 监听写事件EV_PERSIST 指定循环监听,即本事件发生过一次后还可以通过event_base_dispatch()函数继续监听event_callback_fn cb(回调函数)

2024-10-02 14:32:44 909

原创 socket(网络,本地)(图片借鉴,仅供个人学习)

套接字本质就是一个文件描述对应了两块缓冲区, 一个缓冲区用来发送信息, 另一个用来接收信息套接字由IP和端口号构成int af(确定IP协议)AF_INET 对应IPV4AF_INET6 对应IPV6const charsrc传入参数, IP地址 (点分十进制) 例子, 形如192.168.1.110voiddst传出参数, 把传入的 char *src 转化为按照网络字节序存储的IP地址(二进制数值类型)int af(确定IP协议)AF_INET 对应IPV4。

2024-10-02 14:28:48 1790

原创 进程(图片借鉴,仅供个人学习)

具体来讲只有进程空间的各段的内容要发生变化时(子进程或父进程进行写操作时,都会引起复制),才会将父进程的内容复制一份给子进程。在fork之后两个进程用的是相同的物理空间(内存区),子进程的代码段、数据段、堆栈都是指向父进程的物理空间,也就是说,两者的虚拟空间不同,但其对应的物理空间是同一个。进程异常退出时,一般会收到一个中止进程的信号,而且不会执行到return 这句,所以自然就没有退出码,为了知道发生了何种异常,我们使用低 7 位,也就是 0~6 来记录 “中止信号”注意是父子进程,写的时候都会拷贝。

2024-10-02 14:24:24 1857

原创 进程间通信(图片借鉴,仅供个人学习)

规定数据从写端流入管道,从读端流出。由两个文件描述符引用, 一个是。

2024-10-02 14:20:06 887

原创 锁,条件变量,信号量(图片借鉴,仅供个人学习)

锁是程序员创建的,默认取锁操作在锁被其他线程获取到锁的时候,取锁操作线程会被阻塞可以跳过锁,直接去访问公共资源(不可建议直接访问),锁是程序员的设定,本质在取锁的时候阻塞,可以让线程分开执行同一块共享内存,进而不会导致数据存储错误//摧毁锁//初始化锁 (第二个参数为锁的属性, 可以传递NULL)//用于获取互斥锁(相当于加锁)。如果锁已经被其他线程持有,调用线程将被阻塞,直到锁可用。//用于释放互斥锁(相当于解锁),允许其他线程获取锁并访问临界区。

2024-10-02 14:17:33 804

原创 linux文件IO(图片借鉴,仅供个人学习)

unlink()函数功能从文件系统中中删除一个名字,若这个名字是指向这个文件的最后一个链接(即inode值为1),并且没有进程处于打开这个文件的状态,则删除这个文件,释放这个文件占用的空间。如果这个名字是指向这个文件的最后一个链接,但有某个进程处于打开这个文件的状态,则暂时不删除这个文件,要等到打开这个文件的进程关闭这个文件的文件描述符后才删除这个文件。文件描述符: 0/1/2/3/… errno全局变量定义在头文件。成员: 有一个指针,指针指向文件描述符表。

2024-10-02 14:14:08 830

原创 线程与会话(图片借鉴,仅供个人学习)

/初始化线程属性//销毁线程属性占用的资源参数:pthread_attr_t *attr //线程属性//设置线程属性//获取线程属性参数:pthread_attr_t *attr //线程属性int detachstate //设置线程属性是否分离, PTHREAD_CREATE_DETACHED (宏的值为1)分离线程// PTHREAD_CREATE_JOINABLE (宏的值为0)不分离线程。

2024-10-02 14:06:41 1052

原创 Linux信号(图片借鉴,仅供个人学习)

未决信号集位图默认为0, 当产生信号时,对应信号由0->1, 当内核处理后由1->0信号屏蔽字位图默认为0**(表示全都不屏蔽)**, 当信号对应由0->1,表示该信号被屏蔽,内核无法第一时间对信号进行处理。

2024-10-02 14:03:07 767

原创 makefile笔记

目标 : 依赖文件。(一个tab缩进) 命令。

2024-10-02 13:48:57 196

空空如也

空空如也

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

TA关注的人

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