# reactor_server **Repository Path**: charkecc/reactor_server ## Basic Information - **Project Name**: reactor_server - **Description**: c++ 网络服务器案例、开发笔记 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-15 - **Last Updated**: 2026-03-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # reactor_server #### 介绍 c++ 网络服务器案例、开发笔记 #### 软件架构 - Channel - ChannelMap - Dispatcher #### 安装教程 ```shell $ make $ make clean ``` #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request # 初始化并更新所有子模块 > git submodule update --init --recursive # 或者克隆时直接包含子模块 > git clone --recurse-submodules https://github.com/username/main-repo.git # 1. 删除现有的 .gitmodules 配置 rm .gitmodules # 2. 删除 Git 缓存中的子模块记录 git rm --cached third_party/* # 3. 重新添加正确的子模块 git submodule add https://github.com/your-username/ev_ftp_server.git library/ev_ftp_server git submodule add git@github.com:libevent/libevent.git third_party/libevent git submodule add git@github.com:yhirose/cpp-httplib.git third_party/cpp-httplib git submodule add git@github.com:qinguoyi/TinyWebServer.git third_party/TinyWebServer git submodule add git@github.com:shangguanyongshi/WebFileServer.git third_party/WebFileServer # 4. 提交更改 git add .gitmodules library/ git commit -m "重新配置子模块到正确的 library 目录" ### 开源库(案例) - [cpp-httplib](https://github.com/yhirose/cpp-httplib/) > 一个简单的C++ HTTP库,用于创建HTTP服务器和客户端。 - [libcurl](https://curl.se/libcurl/) > 一个功能强大的C库,用于进行URL传输操作。支持HTTP、HTTPS、FTP等协议。 - [thread-pool](https://github.com/mtrebi/thread-pool) > 线程池 - [TinyWebServer](https://github.com/qinguoyi/TinyWebServer) > 一个简单的C++ Web服务器,用于处理HTTP请求和响应。 - [WebFileServer](https://github.com/shangguanyongshi/WebFileServer) > 一个基于C++的Web文件服务器,用于上传、下载和管理文件。 - [linux-server](https://github.com/Hansimov/linux-server) > 《Linux 高性能服务器编程》和《Linux多线程服务端编程:使用muduo C++网络库》的笔记和源码 - [How-to-Secure-A-Linux-Server](https://github.com/imthenachoman/How-To-Secure-A-Linux-Server) - Linux服务器安全 ### 工具库 - [coost](https://github.com/idealvin/coost) > A tiny boost library in C++11. - [ada-url](https://github.com/ada-url/ada) > 一个用于解析URL的C++库,支持HTTP、HTTPS、FTP等协议. - [liburing](https://github.com/axboe/liburing) > Library providing helpers for the Linux kernel io_uring support - [libreoffice](https://www.libreoffice.org/) > LibreOffice 是一个开源的办公套件,包括Word、Excel、PowerPoint、OpenOffice Calc、OpenOffice Impress、OpenOffice Draw和OpenOffice Base。 - [folly](https://github.com/facebook/folly) > An open-source C++ library developed and used at Facebook. ### 网络库 - [f-stack](https://github.com/F-Stack/f-stack) > F-Stack is an user space network development kit with high performance based on DPDK, FreeBSD TCP/IP stack and coroutine API. - [libzmq](https://github.com/zeromq/libzmq) > ZeroMQ core engine in C++, implements ZMTP/3.1 - [nanomsg](https://github.com/nanomsg/nanomsg) > nanomsg library - [kcp](https://github.com/skywind3000/kcp) > KCP - A Fast and Reliable ARQ Protocol. - [c-ares](https://c-ares.org/) > c-ares is a C library for asynchronous DNS requests (including name resolution and optional DNSSEC validation). ### 服务器架构 - [sogou-workflow](https://github.com/sogou/workflow) > C++ Parallel Computing and Asynchronous Networking Framework - [Seaster](git@github.com:scylladb/seastar.git) > 高性能异步编程框架。采用共享无锁架构,每个CPU核心独占资源,是构建极致性能服务的底层框架。 > 其设计哲学(用户态调度、零拷贝)与HFT需求完全吻合。ScyllaDB(媲美Cassandra但快10倍)即基于此构建,可视为构建自研HFT引擎的顶级框架级基石。 - [sobjectizer](https://github.com/Stiffstream/sobjectizer) > An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. With performance, quality, and stability proved by years in the production. - [actor-framework](https://github.com/actor-framework/actor-framework) > An Open Source Implementation of the Actor Model in C++ - [libuv](https://github.com/libuv/libuv) > Cross-platform asynchronous I/O - [libhv](https://github.com/ithewei/libhv) > A c/c++ network library for developing TCP/UDP/SSL/HTTP/WebSocket/MQTT client/server. - [libevent](https://github.com/libevent/libevent) [libevent-org](https://libevent.org/) > A c/c++ network library for developing TCP/UDP/SSL/HTTP/WebSocket/MQTT client/server. - [proxygen](https://github.com/facebook/proxygen) > A collection of C++ HTTP libraries including an easy to use HTTP server. - [boost](https://github.com/boostorg/boost) > A collection of C++ libraries that work well with each other and which are conceptually small and self-contained. - [smallchat](https://github.com/antirez/smallchat) > A minimal programming example for a chat server - [sylar](https://github.com/sylar-yin/sylar) > C++高性能分布式服务器框架 - [qp/c](https://github.com/QuantumLeaps/qpc) > QP/C Real-Time Event Framework/RTOS implements event-driven Active Object (Actor) model combined with Hierarchical State Machines. Specifically designed for embedded systems (e.g., ARM Cortex-M MCUs). - [ros2](https://github.com/ros-navigation/navigation2) > ROS 2 Navigation Framework and System - [envoy](https://github.com/envoyproxy/envoy) > Cloud-native high-performance edge/middle/service proxy. #### 内存&线程 - concurrentqueue > 无锁并发队列 https://github.com/cameron314/concurrentqueue #### 工具库 - [cmake-example](https://github.com/ttroy50/cmake-examples) - https://www.gnu.org/software/binutils/binutils.html - [packetdrill](https://github.com:google/packetdrill.git) - [scapy](https://scapy.net/) - [nghttp2](https://github.com/nghttp2/nghttp2)