自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 传输层学习总结

传输层学习总结传输控制协议(TCP) ——RFC793​ 传输控制协议(Transmission Control Protocol,TCP)最终目的是为了数据提供可靠的端到端传输。TCP被认为是一个面向连接的协议,因为它会正式的开启和关闭通道。TCP端口​ 所有TCP通信都会使用源端口和目的端口,而这些可以在每个TCP头中找到。端口就像老式电话总机上的插口(socket)。​ 在使用TCP进行通信的时候,我们有65535个端口可以使用。1~1023是标准端口组(忽略掉

2021-11-16 10:38:48 410

原创 网络层学习总结

网络层学习总结地址解析协议ARP(RFC826)​ ARP用于希望得到目标IP地址的MAC硬件地址,OSI第二层(数据链路层)采用MAC地址ARP请求源IP地址:192.168.0.101源MAC地址:f2:f2:f2:f2:f2:f2目标IP地址:192.168.0.1目标MAC地址:00:00:00:00:00:00ARP响应源IP地址:192.168.0.1源MAC地址:f1:f1:f1:f1:f1:f1目标IP地址:192.168.0.101目标MAC地址:f2:f2:

2021-11-16 09:40:04 2127

原创 四、命名空间

四、命名空间​ 1、为什么需要命名空间​ 由于c++完全兼容c语言​ 2、什么命名空间​ c++中设计一种对全局作用域再次划分逻辑作用域是一种新的解决命名冲突的技术namespace 空间名{ 全局变量 函数 结构、联合、枚举 类}​ 3、如何使用​ 1、域限定符​ 空间名 :: 标识符​ 2、导入名字空间​ using namespace 空间名;五、c++中专门管理堆内存的语句,而c语言中只能使用标准库函数来管理内存​ new

2021-10-11 20:05:20 66

原创 pthread_tcp_server_sem

基于信号量(sem)的多线程tcp传输—服务端pthread_tcp_server_sem信号量:信号量是一个计数量,与进程间通信使用的信号量原理一样,用于控制访问有限的共享资源。sem_tint sem_init(sem_t *sem, int pshared, unsigned int value);功能:初始化信号量pshared:​ 一般取0,表示进程内,多个线程之间共享使用。​ 非0,该信号量以共享内存方式,让多个进程使用,但Linux系统不支持。value

2021-10-11 20:04:48 71

原创 epoll

epoll --服务器端int epoll_create(int size);功能:用于创建一个epoll对象,该对象可以保存被监控的描述符。size:epoll对保存描述符的数量返回值:epoll对象的描述符int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);功能:控制epoll对象,添加、删除描述符epfd:epoll对象描述符op:​ EPOLL_CTL_ADD 添加描述符​

2021-10-11 20:04:27 61

原创 本地套接字

本地套接字1、基本原理​ 把网络服务抽象成文件(套接字文件),按照网络通信的格式,进行进程间通信。2、常用函数int socket(int domain, int type, int protocol);功能:创建socket对象domain:通信方式​ AF_UNIX 本地套按字​ AF_INET 网络通信type:数据的发送方式​ SOCK_STREAM 数据流​ SOCK_DGRAM 报文protocol:

2021-10-11 20:03:07 162

原创 关于快速“快速排序“的学习

关于快速**“快速排序“**的学习​ 快速排序是对起泡排序的一种改进。它的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录记录继续进行排序,以达到整个序列有序。​ 一趟快速排序的具体做法是:附设两个指针low和high,它们的初值分别为low和hight,设枢纽记录的关键字为pivotkey,则首先从high所指位置起向前搜索,找到第一个关键字小于pivokey的记录与其互相交换,然后从low所指位置起向后搜索,找到第一个

2021-08-20 20:47:56 87 1

原创 关于堆排序的学习总结

关于堆排序的学习总结堆的定义​ n个元素的序列{k1,k2,···,kn},当满足(k1 <= k2, ki <= k2i+1)或(k1 >= k2, ki >= k2i+1)时,可称之为堆。​ 若将堆看作二叉树,则有两种形式(大根堆,小根堆),即层序遍历每一层都比上一层小(大);而堆顶元素(完全二叉树的根)必为其序列的最大(小)值;​ 1-1大根堆与小根堆堆的排序​ 其实堆排序可以用一句话来概括:“创建堆,用***最末值***替出***堆顶

2021-08-09 20:59:26 251

原创 关于堆排序的学习总结

关于堆排序的学习总结堆的定义​ n个元素的序列{k1,k2,···,kn},当满足(k1 <= k2, ki <= k2i+1)或(k1 >= k2, ki >= k2i+1)时,可称之为堆。​ 若将堆看作二叉树,则有两种形式(大根堆,小根堆),即层序遍历每一层都比上一层小(大);而堆顶元素(完全二叉树的根)必为其序列的最大(小)值;​ 1-1大根堆与小根堆堆的排序​ 其实堆排序可以用一句话来概括:“创建堆,用***最末值***替出*

2021-08-09 20:54:31 234

原创 进程内存分布 与 类型限定符

进程内存分布text 代码段:​ 存储的是二进制指令、常量(字符串字面值),该内存段的权限为只读,一旦强行修改就会产生段错误。data 全局数据段:​ 里面存储着初始化过的全局变量、静态变量。bss 静态数据段:​ 里面存储着末初始化过的全局变量、静态变量,该内存段在程序执行前会被初始化为0。heap 堆:​ 由于程序员手动管理,该内存无法与标识符建立映射关系(无法取名字),必须与指针配合使用。优点:够大,分配和释放可控。缺点:使用麻烦,容易产生内存泄漏、内存碎

2021-07-11 16:56:07 96

原创 Markdown的学习记录(Typora)

Markdown的学习记录(Typora)无序标题: -标题名查看源代码的快捷键:ctrl+/输入c代码: ```c1、标题//标题共6种级别/*****************************************# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题*****************************************/示例一级标题二级标题三级标题四级标题五

2021-07-10 13:18:53 88

空空如也

空空如也

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

TA关注的人

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