标签: socket
与该标签相关的所有文章 "socket".
-
C++ 网络编程:epoll、Reactor 与 one loop per thread
C++ 标准库到 C++20 都没有网络库(Networking TS 因 executor 重构被无限期搁置)。Linux 生产方案是 epoll ET + Reactor 模式 + one loop per thread:主 Reactor accept 连接分发到工作线程池,每个工作线程独占 EventLoop 处理自己的连接,通过 eventfd 跨线程唤醒、timerfd 统一定时器、sharedptr + weakptr 管理 TcpConnection 生命周期。muduo 是国内 C++ 服务器开发事实上的学习范本。
-
Linux I/O(三):BSD socket 编程手册
socket API 的本质是把"可寻址的双向通信"塞进 fd 抽象(everything is a file),代价是必须通过 setsockopt/shutdown/getsockopt 等元操作补齐 TCP 状态机的语义;生产代码的复杂度集中在短读/短写循环、EAGAIN/EINTR 重试、SIGPIPE 屏蔽、字节序转换、TIMEWAIT 与 SOREUSEADDR 的误解这五个点上。
-
asio(三):组件拆分-strand、timer、socket、buffer如何协作
Asio 的组件设计遵循一个原则:I/O 对象不拥有资源(缓冲区、线程),只持有操作系统句柄和执行器引用。strand 解决多线程序列化问题,timer 集成进 reactor 的等待超时,socket 分层抽象协议差异,buffer 是纯粹的指针+长度对。这些组件通过共享同一个 io_context 和执行器模型自然组合。