Chops Net IP - это библиотека C ++, которая делает асинхронные сетевые программы веселыми. Или, по крайней мере, если не весело, это делает сетевое программирование проще и безопаснее, без значительной жертвы производительности. Чопски NET IP обрабатывает связь интернет -протокола (IP), включая TCP, UDP и UDP Multicast. Он написан с использованием современных идиомов дизайна C ++ и последнего стандарта C ++.
Net net ip не похож на любую другую высокую библиотеку сокетов C ++, общего назначения.
Чопеские сети IP наложены на асинхронную сетевую библиотеку ASIO, используя преимущества портативности и функциональности, которые предоставляет ASIO. Тем не менее, он упрощает сетевое программирование по сравнению с кодированием API ASIO, обеспечивая простую масштабируемость через асинхронные средства.
Трэвис CI Статус сборки:
Мастерская ветвь | Разработать ветвь |
Действия GitHub CI Статус строительства:
Последний тег:
Release 1.0 находится в стадии разработки по состоянию на январь 2020 года в ожидании улучшений Cmake, комплексного учебника и дополнительного тестирования в нескольких компиляторах и платформах.
Примечания по выпуску и предстоящие планы разработки доступны здесь.
Этот проект распределен по лицензии на программное обеспечение Boost:
Для многих разработчиков программного обеспечения асинхронное сетевое программирование в C ++ нелегко. Он сложный, имеет много ловушек и требует проектирования кода C ++ таким образом, чтобы он не был естественным, даже для тех, кто имеет многолетний опыт. Чопски NET IP («C» ONNECTICE «H» и Crafted «Op» enwork «S» Oftware, сеть над интернет -протоколом) упрощает асинхронное сетевое программирование и обеспечивает полезные (и вкусные!) Абстракции для многих типов паттернов связи.
Net IP -net IP наложен на библиотеку ASIO Криса Колхоффа (см. Ссылки), что позволяет быть портативным для многих компиляторов и платформ. Когда сеть C ++ Network TS стандартизирован (возможно, C ++ 23, но, скорее всего, C ++ 26) Chops Net IP будет напрямую использовать сетевые средства стандартной библиотеки C ++.
Net net ip упрощает код приложения, который обрабатывает данные о нескольких одновременных соединениях TCP или конечных точках UDP. Все операции с чистым IP-операциями (с точки зрения приложения) не являются witch (то есть нет методов блокировки), и все операции по обработке сети выполняются асинхронно.
Чоптристные чистые функциональность IP:
NET NET IP предназначен для того, чтобы облегчить и эффективно для приложения создавать сотни (или тысячи) сетевых подключений и одновременно обрабатывать их. В частности, нет потоков или пулов потоков в числах числа IP, и он хорошо работает только с одним приложением, вызывающим цикл события (исполнитель, в текущей терминологии C ++).
Примеры среда, где отбивные чистые IP хорошо подходят:
Пример демо -программ находится в каталоге /example .
Программа simple_chat_demo.cpp имеет список нескольких шагов для настройки рабочего примера.
Подробный обзор, сравнение библиотеки сокетов C ++ и FAQ доступен здесь.
C ++ 17 является основной базовой линейкой для этого хранилища. Дополнительные заметки о возможных альтернативах доступны здесь.
Производственные внешние зависимости:
asio . Обратите внимание, что это отдельная библиотека Asio, а не версия Boost Asio.utility-rack , которая является хранилищем в той же учетной записи GitHub, что и COPS NET IP.Проверьте внешние зависимости:
Catch2 требуется для всех тестовых сценариев. Существуют отдельные заголовки, которые были скопированы в каталоге third_party в репозитории utility-rack из различных репозиториев GitHub и не требуют никакого внешнего управления зависимостями. Это:
expected-lite библиотека Мартина Моена.Смотрите ссылки для получения дополнительной информации.
Net net ip был скомпилирован, а тесты работают:
Следуйте по ссылкам CI для дополнительных сред.
Chops Net IP только для заголовка, поэтому установка состоит из загрузки или клонирования и настройки компилятора, включающего пути соответствующим образом. Макросы настройки времени компиляции не определены.
См. Ссылки для получения подробной информации о зависимостях и вдохновениях для числа IP.
Информация о члене команды доступна здесь.
Здесь доступны несколько «ноты на скалах».