LINUX.ORG.RU

На сишке тоже можно

 ,


1

2

Почему то все смузихлёбы думают, что экспресс изобрели они а диды на сишке вручную сокеты колупают. Размажем им коричневую субстнацию по всей морде лица:

https://github.com/babelouest/ulfius

Натурально - подключаешь один заголовочный файл и начинаешь писать пути и их обработчики. Есть парсеры на всю требуху что включает в себя стандарт хттп. Чего вам ещё надо, собаки? (Ц)

Чего вам ещё надо, собаки?

Надо, чтобы отдача файла с диска или ответа из БД была прозрачно интегрирована в основной цикл обработки сообщений.

Всегда ваш, К.О.

LamerOk ★★★★★
()

Вообще штука интересная. tl;dr что там с многопоточностью?

Ну и отвечая на вопрос

Чего вам ещё надо

Нужен враппер для ANSI C++. Уж слишком нормальное ООП и RAII упрощает жизнь. Не учесть где-то утечку памяти/сокетов и т.п. — проще простого (в какой-нибудь хитрой ошибочной ситуации). Используя «умный» указатель компилятор C++ гарантирует вызов деструктора при любом сценарии выхода из стекового фрейма.

zx_gamer ★★★
()
Ответ на: комментарий от zx_gamer

Вообще штука интересная. tl;dr что там с многопоточностью?

просто по памяти: «штука» является нашлёпкой над lighthttpd и требует ещё пару оригинальных библиотек. Но очень компактный и удобный API. С многопоточностью ровно так-же как с lhttpd, он просто сверху. Колбеки ульфиус в разных потоках, синхронизуй сам. Вот с «оригинальными библиотеками» будут проблемы в плане билдов.

ульфиус закрывает 90% проблем в ембедщине, но не более чем. Тот самый случай когда удобство использования покрывает все прочие недостатки.

Нагруженный запросами сайт на нём не сделать, но оно вам надо ?

MKuznetsov ★★★★★
()

Ты на Go для начала навали какой-нибудь простой сервис, а когда затрахаешься писать тупизированные портянки для описания JSON-дрисни, вспомни про сишку, где еще больше такого дерьма вываливать. Но для хеллоуворлда сойдет

rtxtxtrx ★★
()
Последнее исправление: rtxtxtrx (всего исправлений: 1)

что экспресс изобрели

проблема в том, что какого-то убогого фреймворка, который может принимать запросы и отдавать ответы недостаточно. в любом мало-мальском взрослом фремворке есть шаблонизатор, механизм управления сессиями, ORM или обертка для тесной интеграции с существующей, валидаторы, сериализаторы, средства тестирования… Круто, конечно, что за 50 лет существования C изобрели чуть ли не единственный веб-недо-фреймворк, но он настолько убог, что для восторга тут мало повода

rtxtxtrx ★★
()
Ответ на: комментарий от rtxtxtrx

Так это дерьмо пишется один раз в жизни. Называется «библиотека». Для http, для json и т.п. что там тебе надо. Потом главное не просрать бекап исходников.

А потом просто пишешь бекенд на красивом С++20 с корутинами и кайф.

lesopilorama
()
Ответ на: комментарий от MKuznetsov

Непохоже, чтобы он имел отношение к lighthttpd:

Based on GNU Libmicrohttpd for the backend web server, Jansson for the json manipulation library, and Libcurl for the http/smtp client API

А libmicrohttpd:

Various threading modes: run in application thread, internal thread, thread pool, and thread-per-connection
sigurd ★★★★★
()
Последнее исправление: sigurd (всего исправлений: 1)