![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 94
linux操作系统的使用
聪明的骑士
为了见到更好的自己而努力
展开
-
多路转接(下)——Reator模式
使用Reactor模式编写服务器原创 2023-11-10 14:38:19 · 236 阅读 · 3 评论 -
多路转接(中)——poll和epoll
poll、epoll相关接口的介绍和两种服务器的编写原创 2023-11-10 13:47:34 · 232 阅读 · 1 评论 -
多路转接(上)——select
select服务器的编写原创 2023-11-09 22:07:52 · 599 阅读 · 2 评论 -
五种IO模型
详解五种IO模型原创 2023-11-05 15:14:38 · 156 阅读 · 0 评论 -
NAT技术与代理服务器
NAT、NAPT协议和代理服务器原创 2023-10-26 11:15:01 · 1311 阅读 · 2 评论 -
DNS和ICMP协议
DNS协议和ICMP协议的介绍原创 2023-10-22 11:58:57 · 246 阅读 · 1 评论 -
数据链路层
本篇文章主要介MAC桢协议和ARP协议原创 2023-10-21 23:46:18 · 563 阅读 · 1 评论 -
IP协议(下)
IP协议的最后一部分,IP分片原创 2023-10-21 10:59:24 · 220 阅读 · 4 评论 -
IP协议(上)
IP协议的介绍原创 2023-10-19 23:10:47 · 916 阅读 · 5 评论 -
UDP与TCP协议
在完成HTTPS的学习后,我们就完成了应用层的所有讲解,下面我们开始讲解传输层,这一层常用的协议为TCP和UDP。原创 2023-10-16 19:27:22 · 793 阅读 · 3 评论 -
HTTPS协议
数字指纹(数据摘要):其基本原理是利⽤单向散列函数(哈希函数)对信息进⾏运算,⽣成⼀串固定⻓度的数字摘要。数字指纹不是加密机制,但可以⽤来判断数据有没有被窜改。如果有两个非常大的文本文件,如果我们逐字逐句地去核对该文件中的内容,那么付出的精力会相当大。如果我们使用某个Hash算法将文本内容转化为一个长度固定的字符串,那比较起来就简单很多了。该字符串就被称为数据摘要,由于重复性极低,所以也称为数据指纹。常用的算法有MD5、SHA1、SHA256、SHA512等。原创 2023-10-07 22:58:24 · 185 阅读 · 0 评论 -
HTTP协议
然后,先将目录设置为./wwwroot,此时再拼接传递过来的url,如果url为/则拼接出来的是./wwwroot/,如果是其他的内容比如a/b/c.html,最后得到的是./wwwroot/a/b/c.html。首先,我们在保存服务器代码的目录中创建一个wwroot目录作为http访问的网络根目录,然后在内部创建两个html文件和一个test目录,index.html用于构建网站的首页,404.html用于构建非法访问返回的404页面,test目录下也储存两个构建网站的代码。原创 2023-10-07 22:47:50 · 172 阅读 · 0 评论 -
网络协议定制
协议本质是一种“约定”,在前面的TCP和UDP网络通信中,读写数据的时候都是按照"字符串"的形式发送和接收的,那我们如果不发送字符串,而是要传送一些结构化的数据怎么办呢?比如说,我们观察QQ或微信的聊天窗口,屏幕上的信息包括头像(url)、时间、昵称、消息等。用户发送的消息虽然大部分是字符串,但是经过用户层(QQ或微信软件)处理后,还需要增加头像,时间,昵称等信息。如果我们将这几个信息看做多个字符串,那么就可以将这多个字符串形成一个结构化的数据,比如下面示例的struct message。原创 2023-09-24 20:34:58 · 170 阅读 · 0 评论 -
socket套接字——TCP协议
每次这个logmessage函数都把格式化的信息达到屏幕上,告诉我们程序的状态,当然我们也可以把它同时写到文件中,这也是它的一个简单的日志。由于网络的操作步骤多,查找bug困难,所以我们在程序运行到某一个阶段时都告诉我们当前的操作是完成了还是没完成,新建一个log.hpp。启动服务器需要使用accept函数等待客户端的连接,无连接请求会阻塞等待,出现连接请求则会返回一个用于通信的文件描述符。下面的代码包括了所有类型的实现,通过注释不同的字段,就可以实现不同的版本。(现在的为线程池版本)原创 2023-09-16 18:06:43 · 1878 阅读 · 4 评论 -
socket套接字——UDP协议
当bind绑定的IP地址是0.0.0.0的时候,这台计算机就会接收所有网络的请求,也会根据相关的端口处理。是一个输出型参数,使用网路通信就需要传参一个sockaddr_in的结构体,函数会根据发来的数据信息将这个结构体填充,包括获取数据的来源,包括发送方的地址类型,端口号port和IP地址。如果服务器仅绑定本地环回的IP地址,那么当另一台计算机的客户端想要通过公网IP向计算机发出请求时,由于绑定的IP地址与客户端IP地址不一样,服务端就会忽略客户端的请求。然后bind就会执行该结构体的对应操作。原创 2023-09-13 13:09:07 · 568 阅读 · 0 评论 -
网络编程基础
在学习网络编程前我们需要了解这些知识原创 2023-09-09 23:25:30 · 384 阅读 · 3 评论 -
线程池的实现
Linux系统编程的所有知识已经学完了,让我们实现一个线程池,检查我们的学习情况。原创 2023-09-07 18:10:34 · 623 阅读 · 0 评论 -
自旋锁和读写锁
详解自旋锁和读写锁原创 2023-09-05 22:58:28 · 383 阅读 · 0 评论 -
基于环形队列的生产消费模型
本篇文章我们将学习信号量并通过信号量实现基于环形队列的生产消费模型原创 2023-09-05 16:12:37 · 122 阅读 · 0 评论 -
基于阻塞队列的生产消费模型
基于阻塞队列的生产者消费者模型,多线程同步与互斥的综合应用原创 2023-09-03 19:44:18 · 375 阅读 · 2 评论 -
Linux线程互斥
多线程运行时,线程的互斥运行至关重要,本文详解线程互斥相关问题原创 2023-09-01 23:51:08 · 492 阅读 · 1 评论 -
Linux线程控制
简单的线程控制原创 2023-08-31 17:57:11 · 1067 阅读 · 2 评论 -
Linux线程概念
页表的大致原理和线程的初步认识原创 2023-08-29 21:11:59 · 516 阅读 · 2 评论 -
Linux进程信号
在我们不知情的时候,我们就已经在使用信号了,比如在XShell和VSCode中用Ctrl+c就是发送信号终止当前程序的。那就请通过这篇文章,让我们认识并理解这个既熟悉又陌生的朋友。原创 2023-08-14 19:37:44 · 257 阅读 · 3 评论 -
VScode的简单使用
本文意在帮助新人快速上手最基础的VSCode操作原创 2023-07-30 00:22:44 · 5397 阅读 · 0 评论 -
Linux进程间通信
每个进程之间虽然是相互独立的,但不能说它们就不能相互协作,进程间通信便是它们合作的基础原创 2023-07-14 13:24:30 · 1042 阅读 · 4 评论 -
Linux基础IO
文件操作是怎么实现的?文件系统到底是怎么回事?这篇文章统统告诉你。原创 2023-02-06 11:17:13 · 888 阅读 · 1 评论 -
Linux进程控制
Linux进程控制原创 2023-01-27 13:46:59 · 822 阅读 · 0 评论 -
进程地址空间
进程地址空间,Linux学习的第一大关原创 2023-01-19 20:28:10 · 1780 阅读 · 0 评论 -
进程优先级与环境变量
进程优先级与环境变量原创 2022-12-07 20:46:57 · 548 阅读 · 4 评论 -
Linux进程状态
操作系统的进程状态,看看你学会了吗?原创 2022-12-01 11:21:08 · 2219 阅读 · 0 评论 -
Linux进程概念
LInux进程的初步认识与操作原创 2022-11-22 14:06:32 · 690 阅读 · 8 评论 -
Linux开发工具
Linux的基础开发工具,看看你是学会了还是学费了原创 2022-11-05 21:06:35 · 3448 阅读 · 20 评论 -
Linux权限
Linux的权限理解原创 2022-10-07 20:53:27 · 725 阅读 · 6 评论 -
Linux的基础指令
Linux基础操作详解原创 2022-10-04 13:25:28 · 3892 阅读 · 26 评论 -
Linux操作系统的发展
一、计算机的发展历程1.计算机的起源在开始讲解计算机的历史前,我们需要认识到人和动物最大的区别在于人是会使用工具的。从饮血茹毛到使用火烧熟食物,工具的使用给对于人类发展的作用是巨大的。同样,计算机也是工具,为我们的生活带来便利。那么这样强大的工具是怎么来的呢?计算机的诞生跟二战有着莫大的关系。二战结束后,美苏冷战开始,军备竞赛愈演愈烈,任何一方都不想落后于对方。为了研制新型武器,美国陆军军械部设立了弹道研究实验室。为了解决每天面临的大量弹道计算问题,此时就催生了计算机的研发项目。最终原创 2022-09-16 20:17:37 · 2361 阅读 · 6 评论