一个借鉴muduo网络库实现的C++ Tcp网络库。用于学习和练习Linux网络编程和C++编程知识。
网络库采用主从reactor模式,本网络库依托基于对象思想实现,由EventLoop TcpServer TcpConnection 等组件组成。
本网络库仅支持TCP IPv4 下的网络编程,没有实现其它协议的支持。同时,本网络库也没有实现http等额外功能。
网络库没有实现muduo实现的所有功能,只实现了以下类。
base
├── logger.h
├── noncopyable.h
├── timestamp.cc
└── Timestamp.h
net
├── Acceptor.cc
├── Acceptor.h
├── Buffer.cc
├── Buffer.h
├── Channel.cc
├── Channel.h
├── Epoller.cc
├── Epoller.h
├── EventLoop.cc
├── EventLoop.h
├── EventLoopThread.h
├── EventLoopThreadPool.cc
├── EventLoopThreadPool.h
├── InetAddress.h
├── Poller.cpp
├── Poller.h
├── sigpipe.h
├── Socket.h
├── SocketOps.cc
├── SocketOps.h
├── TcpConnection.cc
├── TcpConnection.h
├── TcpServer.cc
├── TcpServer.h
├── Timer.h
├── TimerId.h
├── TimerQueue.cc
└── TimerQueue.h
网络库支持基本的TCP多线程服务器编写,采用非阻塞IO + 事件驱动的IO多路复用,便于编写较为高效的TCP服务器。