緣由
最近在研究陳碩的網路庫muduo,是一個基于reactor架構的網路庫,我對網路庫的感覺是易用,但是內容龐大,依賴頗多,,比如boost網路庫里面的一些語法讓人生畏,理論知識方面基本掌握,比如reactor和proactor架構,還有select/poll/epoll網路模型,自己也一直想做一個網路庫來對自己之前作業的一個總結,于是我模仿muduo寫了一個單執行緒的reactor網路庫,
實作這個庫所需的介紹
- C++11
- 編譯器gcc7.3
- linux平臺
- 單執行緒
- 事件回圈 Reactor架構,
- epoll
架構

- 整個庫是對一個epoll的一個封裝
- EventLoop是整個庫的核心,對應的架構是 loop peer thread,
- EventLoop收集EPollPoller所產生的事件,通過Channel分發事件給TcpConnection,TcpConnection進行讀寫到Buffer緩沖區,然后通過回呼給TcpServer,用戶通過系結與TcpServer的回呼函式即可收到資料報,
后續規劃
該庫是對epoll的一個簡單的封裝,只支持單執行緒,后續會改造為多執行緒,還有定時器和一些example會繼續完善,
github地址:https://github.com/diycat1024/ccnet
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/241395.html
標籤:區塊鏈
