网络编程
文章平均质量分 90
蓝宁宸
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
网络实战项目——kvStore
这篇文章介绍了一个基于C语言实现的KV存储服务器项目kvStore,其架构类似简化版Redis。项目采用分层设计,包含网络层、协议层、核心层、接口层和kv引擎层五个主要部分,支持SET/GET/DEL/MOD/EXIST等基础命令操作。关键特性包括:1)自定义内存管理接口kvs_malloc/kvs_free;2)通过strtok实现命令协议解析;3)支持多种网络模型切换(Reactor/Proactor/协程);4)采用回调机制解耦网络层与协议处理。项目通过宏定义支持不同存储结构(红黑树、数组、哈希表),原创 2026-04-20 10:51:34 · 205 阅读 · 0 评论 -
Linux网络编程基础
本文详细介绍了Linux Socket编程的核心API。每个API都包含参数说明、返回值及典型用法示例,涵盖了TCP/UDP套接字编程的基础功能。原创 2026-03-24 09:04:16 · 396 阅读 · 0 评论 -
IO多路复用select/poll/epoll
摘要: Linux系统提供了三种I/O多路复用机制:select、poll和epoll。select通过位图监控文件描述符,存在1024连接数限制和O(N)效率问题;poll改用数组结构突破连接限制,但仍需线性扫描。epoll采用事件驱动模型,通过红黑树管理fd,就绪事件O(1)返回,支持ET/LT模式,适合高并发场景。三者中epoll性能最优,但仅限Linux,而select跨平台性最佳。技术演进体现从简单轮询到高效事件通知的优化路径。原创 2026-04-08 19:41:13 · 416 阅读 · 0 评论 -
io_uring详解
摘要:io_uring高性能异步I/O框架解析 io_uring是Linux内核提供的高性能异步I/O框架,通过共享内存和无锁环形队列设计实现高效通信。其核心包括提交队列(SQ)和完成队列(CQ),用户程序通过liburing库可便捷操作。相比传统epoll+阻塞I/O和POSIX AIO方案,io_uring消除了不必要的系统调用,支持真正的内核级异步I/O,并统一处理文件、网络等多种I/O操作。原创 2026-04-16 15:33:50 · 443 阅读 · 0 评论 -
epoll详解以及Reactor模式
这篇文章详细介绍了Linux下epoll网络编程的核心知识体系,分为四个部分: epoll三大API详解: epoll_create创建实例 epoll_ctl管理监控列表(红黑树) epoll_wait获取就绪事件 重点讲解了参数配置和使用场景 epoll底层原理: 核心是红黑树+就绪双向链表 通过回调机制实现高效事件通知 避免了传统select/poll的全量扫描 Reactor模式架构: I/O事件驱动设计 Reactor负责事件监听分发 Handler处理具体业务逻辑原创 2026-04-16 10:11:34 · 413 阅读 · 0 评论
分享