平台工具:vscode 远程 Linux 开发,cmake 构建 项目地址:https://github.com/heheda102410/C-ReactorServer
1. Listener: 监听特定端口,等待客户端的连接请求
2. EventLoop:一个生产者和消费者模型,消费者是 Dispatcher 是一个事件分发模型,使用 epoll/poll/select 检测对应的文件描述
符的事件。另外,还有一个任务队列 TaskQueue 来管理 Channel 节点
3. ThreadPool 线程池: 用于处理并发连接,每个新连接都会有一个子线程处理。主线程可以从线程池中取出某个子线程的反应堆实
例,再将处理的任务放到其反应堆模型里边。此时在 TaskQueue 里边就多出来了一个节点。在遍历任务队列时,读到这个节点之后,
就需要把当前的这个节点添加到 Dispatcher 对应的检测模型里边。主线程与子线程通过任务队列进行交互,子线程处理通信相关的
文件描述符操作
4. TcpConnection: 每个客户端连接都会有一个对应的 TcpConnection 实例,用于处