| 부품 ⅰ | 부품 ⅱ | 부품 ⅲ | 부품 ⅳ | 파트 v | 부품 ⅵ | 부품 ⅶ |
|---|---|---|---|---|---|---|
| 프로젝트 소개 | 프로젝트 기능 | 개발 환경 | 동시성 모델 | 프로젝트를 구축하십시오 | 실행 케이스 | 모듈 설명 |
이 프로젝트는 Muduo가 구현 한 원자로 모델을 기반으로 한 다중 스레드 네트워크 라이브러리입니다. C ++ 11을 사용하여 쓰기를 사용하여 부스트에 대한 Muduo의 의존성을 제거하기 위해 쓰기를 사용하면 작은 HTTP 서버가 내부적으로 구현되어 GET 요청 및 정적 리소스에 대한 액세스를 지원할 수 있으며 서버 상황을 모니터링하기 위해 비동기 로그를 동반합니다.
이 프로젝트는 채널 모듈, 폴러 모듈, 이벤트 루프 모듈, HTTP 모듈, 타이머 모듈, 비동기 로그 모듈, 메모리 풀 모듈 및 데이터베이스 연결 풀 모듈을 구현했습니다.
Ubuntu 18.04.6 LTSg++ 7.5.0vscodegitcmake 3.10.2 이 프로젝트는 마스터 슬레이브 원자로 모델을 채택합니다. Mainreactor는 새로운 연결을 듣고 파견 할 수 있습니다.
tcpserver의 시작 기능을 호출하면 스레드 풀이 내부적으로 생성됩니다. 각 스레드는 이벤트 루프를 독립적으로 실행합니다. Mainrector는 스레드 풀에서 하위 신호를 설문 조사하고 새로운 연결로 파견됩니다. 마스터 슬레이브 원자로 모델을 사용하는 데는 많은 장점이 있습니다.
CMAKE를 설치하십시오
sudo apt-get update
sudo apt-get install cmake프로젝트를 다운로드하십시오
git clone [email protected]:Shangyizhou/tiny-network.git스크립트 빌드 프로젝트를 실행하십시오
cd ./tiny-network && bash build.sh 여기서 우리는 간단한 Echo 서버를 케이스로 사용하고 EchoServer 의 기본 청취 포트는 8080 입니다.
cd ./example
./EchoServer구현 상태 :
http 모듈에는 실행할 수있는 작은 HTTP 서버 케이스가 있습니다. 기본 청취 8080 :
cd ./src/http && ./HttpServer여기의 일부 모듈은 Muduo 소스 코드를 구성하여 설명하고 일부는이 프로젝트의 소스 코드를 사용하지만 구현 아이디어는 일관됩니다.
채널 모듈
폴러 모듈
EventLoop 모듈
버퍼 모듈
타이머 모듈
HTTP 모듈
비동기 로그 모듈
메모리 풀 모듈
데이터베이스 연결 풀 모듈