Библиотека Шаблонов Cxxtools

Начиная рабочий проект под Linux, я застрял в поиске библиотеки C++, которая 1) была бесплатной, 2) могла работать с сокетами и я мог быстро настроить собственный сервер, 3) нуждалась в обертке над потоками для получения преимуществ.

Впервые я столкнулся с Qt, но через некоторое время Qt стал слишком тяжелым для этой цели.

В результате поиск выдал cxxtools .



Кратко
Коротко о том, что умеет библиотека:
  • умеет работать с TCP-сокетами и создавать на их основе прослушивающий сервер;
  • может анализировать http-запросы и возвращать ответы;
  • умеет работать с SSL;
  • реализован механизм быстрых сигналов (точно аналогичный Qt);
  • есть шаблон Function/Method, аналогичный Boost’овому, но более удобный; требуется для функции обратного вызова
  • умеет работать с потоками: прикрепленными и отсоединенными;
  • удобный шаблон пула;
  • умный указатель гораздо удобнее (ИМХО, конечно), чем те же std::smart_ptr и auto_ptr. Позволяет использовать разные политики управления классами и подсчета ссылок, что удобно и необходимо для многопоточных реализаций.

  • удобный механизм логирования
  • ini-парсер
На базе этой библиотеки также есть демо-версия веб-сервера Tntnet, который, как мне показалось, имеет достаточно грамотно построенную архитектуру на базе библиотеки cxxtools. Также есть пример архитектуры Event Threading (модель событий поверх потоков).

На tntnet также есть интерфейс для работы с базой данных (типа Ado или что-то в этом роде), но я им еще не пользовался и пока ничего сказать не могу, кроме того, что на первый взгляд все довольно просто и удобно.



Примеры
  • http сервер И клиент
  • ручьи
  • бассейн Я еще не до конца понял, как это работает, поэтому на все, что я могу ответить, я могу ответить.

    Но оно того стоит.

Теги: #C++ #библиотеки c++ #библиотеки #C++
Вместе с данным постом часто просматривают: