muduo README

The project's README from github.com/chenshuo/muduo. As one markdown file: README.md.

Muduo is a multithreaded C++ network library based on the reactor pattern.

http://github.com/chenshuo/muduo

Copyright (c) 2010, Shuo Chen. All rights reserved.

Use of this source code is governed by a BSD-style license that can be found in the License file.

Requires: Linux kernel version >= 2.6.28. GCC >= 4.7 or Clang >= 3.5 Boost (for boost::any only.)

Tested on: Debian 7 and above Unbuntu 14.04 and above CentOS 7 and above

Install required packages:

Debian, Ubuntu, etc.

$ sudo apt install g++ cmake make libboost-dev

CentOS

$ sudo yum install gcc-c++ cmake make boost-devel

See .travis.yml for additional packages for building more examples.

To build, run: ./build.sh

See https://github.com/chenshuo/muduo-tutorial for how to use muduo in your project.


| / | | | | \ / |_ _ | |_ _ ___ | |/| | | | |/ ` | | | |/ _
| | | | |
| | (| | || | () | || ||_,|_,|_,_|_
/

muduo (chenshuo/muduo)

Searching Database…

16.3K ·GitHub
Что это такое?Muduo — это многопоточная сетевая библиотека на C++, построенная на паттерне «реактор». Она предназначена для написания высокопроизводительных серверов, работающих на событиях, под Linux.
Это готовый сервер или библиотека, поверх которой я строю свой проект?Это библиотека C++, которую подключают к своему проекту. Логику сервера вы пишете поверх её примитивов реактора и цикла событий, а не запускаете muduo как отдельное приложение.
Как мне её собрать?Установите необходимые пакеты для вашего дистрибутива, затем запустите ./build.sh из корня репозитория, чтобы собрать библиотеку и примеры.
Что нужно установить заранее?Linux-система с GCC 4.7+ или Clang 3.5+, а также cmake, make и Boost (нужен только для boost::any). В Debian/Ubuntu это 'g++ cmake make libboost-dev', в CentOS — 'gcc-c++ cmake make boost-devel'.
Работает ли это на любой ОС или только на Linux?Muduo работает только в Linux и требует ядро 2.6.28 или новее. Поддержки Windows и macOS нет, так как библиотека опирается на API, специфичные для Linux, например epoll.
Что за паттерн «реактор», на котором построена muduo?Один поток ждёт событий на нескольких сокетах (через epoll) и вызывает обработчики. Muduo сочетает это с одним циклом событий на каждый поток, поэтому многопоточные серверы масштабируются на ядра процессора без модели «поток на соединение».
На каких дистрибутивах её реально тестировали?В README в качестве протестированных указаны Debian 7 и новее, Ubuntu 14.04 и новее, а также CentOS 7 и новее.
Есть ли в репозитории готовые примеры для запуска?Да, там есть примеры серверов и клиентов. Для сборки всех примеров нужны дополнительные пакеты, перечисленные в файле .travis.yml проекта.
Creator
chenshuo
Size
1.8 MB
Stars
16.3K
Age
16y
Commits · 90 Days