摘要: DPDK网络数据收发与TCP协议学习笔记 一、DPDK数据发送的实现 1.1 为什么不能直接转发收到的包? 上节课实现了用DPDK接收数据,这节课要实现发送。很多人第一反应是:既然rte_eth_rx_burst已经把数据收到mbuf里了,能不能直接把rx_burst改成tx_burst发回去? 不 阅读全文
posted @ 2026-03-09 01:16 RelaxedH 阅读(1) 评论(0) 推荐(0)
摘要: epoll实现原理学习笔记 一、epoll是什么?为什么需要它? 1.1 实际场景引入 想象你在写一个IM服务器,监听在8000端口。当只有一个客户端连接时,一切都很顺利——接收数据、处理、返回。但当第二个客户端连接进来,问题就出现了:第二个客户端发送数据后,服务器可能会崩溃或者无响应。 为什么? 阅读全文
posted @ 2026-03-09 01:16 RelaxedH 阅读(1) 评论(0) 推荐(0)
摘要: # 协程(Coroutine)底层原理与网络框架整合学习笔记 ## 一、宏观理解:为什么我们需要协程? ### 1.1 同步与异步的痛点 在传统的网络编程中,我们面临一个两难的选择: * **同步编程(阻塞式):** 发起一个网络请求(如访问数据库、读取API),进程/线程挂起,干等结果返回。代码逻 阅读全文
posted @ 2026-03-08 17:35 RelaxedH 阅读(0) 评论(0) 推荐(0)
摘要: DPDK用户态协议栈学习笔记 一、DPDK是什么?它在哪里工作? 1.1 数据流向的完整链路 先看一张完整的数据流向图: [网卡] → [NIC驱动层] → [TCP/IP协议栈] → [VFS/POSIX API] → [应用程序] 从左到右是接收数据的过程,从右到左是发送数据的过程。 每一层的作 阅读全文
posted @ 2026-03-08 17:35 RelaxedH 阅读(1) 评论(0) 推荐(0)
摘要: DPDK 用户态网络协议栈:从 UDP 收发到 TCP 核心机制 一、概述:为什么要做用户态协议栈? 很多人学 C/C++,简历上只会写传统业务系统或者是简单的 Web Server,这在当前的求职环境缺乏竞争力。 如果在建立的基础上,能利用 DPDK 绕过操作系统内核,在用户空间从零手撸一遍网络协 阅读全文
posted @ 2026-03-08 17:35 RelaxedH 阅读(0) 评论(0) 推荐(0)
摘要: # Epoll 底层原理与手撕实现学习笔记 引言:语言的边界——业务逻辑 vs 基础设施 开篇点题,搞明白我们用 C/C++ 到底在写什么。 很多同学疑惑,现在微服务、Web后端都是 Go、Java、Python 的天下,C/C++ 后端的发力点在哪里? 其实,业务代码(处理请求、查数据库、组装JS 阅读全文
posted @ 2026-03-08 17:35 RelaxedH 阅读(0) 评论(0) 推荐(0)
摘要: 服务器百万并发实战笔记 一、什么是百万并发 百万并发指的是服务器同时能承载100万个客户端连接。注意这里说的是"连接",不是"请求处理"。 连接是并发的前置条件——有了连接才有后面业务处理的可能性。就像微信,你打开APP建立连接后,这个连接会一直保持,服务端就占用一个连接资源。100万用户同时在线, 阅读全文
posted @ 2026-03-08 17:34 RelaxedH 阅读(1) 评论(0) 推荐(0)
摘要: TCP网络编程与POSIX API学习笔记 一、POSIX API是什么 POSIX API是一套标准化的系统调用接口,解决了Linux/Unix不同发行版之间的兼容性问题。 为什么需要POSIX标准? Linux有很多商业化版本:Ubuntu、CentOS、OpenSUSE、RedHat等,每家公 阅读全文
posted @ 2026-03-08 17:34 RelaxedH 阅读(0) 评论(0) 推荐(0)
摘要: 🚀 基于UDP的可靠传输方案:KCP与QUIC核心原理解析与实践 一、破局重镇:TCP与UDP的本质差异 要理解为什么要在UDP之上做可靠传输,首先要拨开概念的迷雾,深入计算机内存和底层来看待 TCP(字节流)与 UDP(报文)的区别。很多时候我们只会背八股文,但并不知道它们在机器运转时长什么样。 阅读全文
posted @ 2026-03-08 17:34 RelaxedH 阅读(1) 评论(0) 推荐(0)
摘要: 这份文本是一节非常有深度的底层网络编程与协程(Coroutine)实现的网课提取稿。由于语音识别(STT)的局限,文本中出现了大量的识别错误(比如“携程”应为“协程”,“native code”实为开源框架“NtyCo”,“set drink/sit gp”实为C标准库的setjmp,“you co 阅读全文
posted @ 2026-03-08 17:34 RelaxedH 阅读(2) 评论(0) 推荐(0)