logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【学习笔记】基于reactor实现webserver和websocket

本文介绍了一个基于Reactor模式的WebSocket服务器实现,主要包含三个核心模块:reactor.c负责事件驱动和网络I/O处理,webserver.c处理HTTP协议,websocket.c实现WebSocket协议。服务器使用epoll进行多路复用,支持同时监听多个端口,通过回调函数处理连接事件。WebSocket实现分为握手阶段(基于HTTP协议升级)和数据传输阶段(二进制帧格式),

文章图片
#学习#websocket#网络 +3
【学习笔记】从零开始学习Reactor网络服务器设计模式

本文实现了一个基于epoll的单线程Reactor模型网络服务器。Reactor模式通过事件驱动机制将网络IO与业务逻辑解耦,核心组件包括:事件监听(epoll)、回调函数(accept_cb/recv_cb/send_cb)和连接管理结构(conn)。系统采用单事件循环架构,主线程通过epoll_wait监听所有socket事件,触发对应回调处理。相比传统多线程模型,该设计避免了线程切换开销,通

文章图片
#学习#设计模式
【学习笔记】从零开始学习Reactor网络服务器设计模式

本文实现了一个基于epoll的单线程Reactor模型网络服务器。Reactor模式通过事件驱动机制将网络IO与业务逻辑解耦,核心组件包括:事件监听(epoll)、回调函数(accept_cb/recv_cb/send_cb)和连接管理结构(conn)。系统采用单事件循环架构,主线程通过epoll_wait监听所有socket事件,触发对应回调处理。相比传统多线程模型,该设计避免了线程切换开销,通

文章图片
#学习#设计模式
【学习笔记】从零理解网络io与io多路复用

本文总结了网络IO与IO多路复用的实现方法,重点对比了select、poll和epoll三种多路复用技术。首先介绍了基础的TCP服务器搭建流程:创建socket→绑定地址→监听连接。然后分析了单线程阻塞IO的局限性,以及多线程模型在高并发时的资源消耗问题。接着详细讲解了select的实现方式,通过维护fd_set集合和maxfd来监控多个连接,但存在遍历开销大的缺点。poll方法改用pollfd数

文章图片
#学习#网络
到底了