首页
学习
活动
专区
工具
TVP
发布

就业 C++ 综合学习

专栏成员
165
文章
21161
阅读量
23
订阅数
【Linux】从零开始使用多路转接IO --- epoll
之前提过的多路转接方案select和poll 都有致命缺点:底层都是暴力的遍历,效率不高! 对此,诞生出了epoll这个更好的方案!
叫我龙翔
2024-11-06
390
【Linux】从零开始使用多路转接IO --- poll
我们对比一下select,select需要传入三个事件集,输入输出性参数,每次都会发生改变!所以才需要每次调用都要进行初始化。而poll使用一个结构体,对于这个文件描述符有两种事件:requested events 与 returned events!输入输出并不互相干扰!那么就解决了select需要不断初始化的问题。
叫我龙翔
2024-11-04
860
【Linux】从零开始使用多路转接IO --- select
上一篇文章我们讲解了五种IO模型的基本概念,并通过系统调用使用了非阻塞IO。 一般的服务器不会使用非阻塞IO,因为非阻塞IO非常耗费CPU资源,导致CPU发热效率下降!非阻塞IO只有在特定情况下才比较好用!
叫我龙翔
2024-11-04
830
【Linux】从零开始认识五种IO模型 --- 理解五种IO模型,开始使用非阻塞IO
通过网络通信的学习,我们能够理解网络通信的本质是进程间通信,而进程间通信的本质就是IO。
叫我龙翔
2024-11-02
610
【计网】网络协议栈学习总结 --- 浏览器上输入网址域名后点击回车,到底发生了什么?
经过对计算机网络的学习,我们了解了网络通信的过程,熟悉了网络协议栈各个层的工作机制与作用。那么现在我们回过头来看一个问题:
叫我龙翔
2024-10-31
880
【计网】深入理解NAT机制,内网穿透与内网打洞,代理服务
NAT机制我们在解决IP地址不足的问题中提到过。为了解决IP地址不足的问题,采取了私有IP与公网IP的策略:
叫我龙翔
2024-10-30
2130
【计网】从零开始认识arp协议
传输层协议提供一种策略保证通信的稳定性;网络层协议提供一种能力保证可以进行通信。数据链路层是用于两个设备(同一种数据链路节点)之间进行传递。
叫我龙翔
2024-10-30
1730
【计网】网络层路由过程 ,理解IP分片与组装
路由就是在复杂的网络结构中,找出一条通往终点的路线。 IP协议提供了保证主机A可以跨网络发送数据到主机B。跨网络过程中,需要经过不同的路由器的一次一次的转发才能到达主机B。IP协议解决的就是在这个传输过程中为什么要去这个路由器子网而不是另一个!
叫我龙翔
2024-10-28
790
【计网】从零开始认识IP协议 --- 理解网段划分,NAT策略,私有IP和公网IP,认识公网
在我们的学校里,学生的学号都是精心设计过的:16位二进制数表示,前6位表示学院号,后10位表示学生号。假设有这样几个学院:
叫我龙翔
2024-10-26
1190
【计网】从零开始认识IP协议 --- 认识网络层,认识IP报头结构
那么网络层是如何进行数据传输的呢?通过网络层协议,这里介绍IP协议: IP协议下,主要包含两部分:
叫我龙翔
2024-10-24
1750
【计网】理解TCP全连接队列与tcpdump抓包
这里我们使用之前实现的tcp_echo_server的客户端与服务端。 我们来看listen
叫我龙翔
2024-10-24
1680
【计网】从零开始理解TCP协议 --- 拥塞控制机制,延迟应答机制,捎带应答,面向字节流
尽管TCP拥有滑动窗口这一高效的数据传输机制,能够确保在对方接收能力下将大量数据可靠发送,但在通信初期若盲目发送大量数据,仍有可能触发网络问题。
叫我龙翔
2024-10-21
1210
【计网】从零开始理解TCP协议 --- TIME_WAIT状态 , CLOSE_WAIT状态,流量控制机制,滑动窗口机制
在四次挥手问题中,客户端向服务端发送FIN请求断开连接,服务端返回应答,并也发送一个FIN请求进行断开连接,客户端收到后就返回应答。这里服务端发送ACK和FIN可以合并为一次,所以也能成为三次挥手!所以建立连接和断开连接本质上是没有区别的,那为什么还要强调四次挥手呢?因为一方端口连接,另一方可能还有需要发送的数据,所以有可能是进行四次挥手。
叫我龙翔
2024-10-19
490
【计网】从零开始理解TCP协议 --- 熟悉TCP报头结构并理解三次握手与四次挥手
前一篇文章我们讲解了UDP协议,UDP协议的结构很简单,维护链表结构的指针,报头指针和数据指针。与之对应UDP协议是不可靠的,没有重传机制,没有传送缓冲区。UDP协议是面向数据报的,接受者会一次性收到一份完整的数据报!
叫我龙翔
2024-10-17
2400
【计网】从零开始理解UDP协议 --- 理解端口号和UDP结构
之前我们讲过服务器上的端口号和服务器的进程是绑定的!客户端的进程与客户端的端口号也是绑定的!再通过IP地址,就可以快速找到网络中需要进行通信的进程!
叫我龙翔
2024-10-16
1000
【计网】从零开始认识https协议 --- 保证安全的网络通信
之前的文章中我们详细的讲解了http协议,从代码底层的实现一步一步的理解了http协议。其中我们根据http协议中请求和应答的结构重点实现了http协议中的httpRequest和httpResponse。进行通信时,浏览器(客户端)会向服务端发送请求,请求中的所有信息(请求行 ,URL ,cookie ,正文…)都是明文。明文是没有进行过加密的信息,那么就会造成一些安全问题。
叫我龙翔
2024-10-13
1050
【计网】从零开始学习http协议 ---深入理解cookie和session
HTTP协议(超文本传输协议)被设计为无状态(Stateless)和无连接(Connectionless)的:
叫我龙翔
2024-10-12
890
【计网】【计网】从零开始学习http协议 ---理解http重定向和请求方法
http协议作为通信协议,必然要支持序列化与反序列化。我们需要做的是服务器的操作,只需要进行请求的反序列化和应答的序列化就可以了,请求的序列化和应答的反序列化是浏览器(客户端)需要考虑的。要做到序列化和反序列化需要按照请求和应答的结构,从字符串中读取分离出来,具体操作可以参考之前的文章:
叫我龙翔
2024-10-10
1260
【Linux】线程与线程安全知识总结
我最近复习了线程安全这部分知识,将不明白的问题总结出来,并通过AI进行问答帮助我进行学习巩固。本人能力有限 ,可能有些内容不准确,望各位大佬海涵!!!
叫我龙翔
2024-10-08
1360
【Linux】进程间关系与守护进程
之前我们提到了进程的概念, 其实每一个进程除了有一个进程 ID(PID)之外 ,还属于一个进程组。 进程组是一个或者多个进程的集合, 一个进程组可以包含多个进程。 每一个进程组也有一个唯一的进程组 ID(PGID), 并且这个 PGID 类似于进程 ID, 同样是一个正整数, 可以存放在 pid_t 数据类型中! 我们现在启动一些程序sleep 1000 | sleep 2000 | sleep 3000,可以来看看:
叫我龙翔
2024-10-03
1200
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档