LINUX.ORG.RU

[C/C++]http клиент и сервер


0

0

Всем привет.

Нужна либа, которая реализует и http-клиент и http-сервер. Ограничений особо никаких нет, даже поддержка ssl не нужна. Главное - удобство. Пока сгуглил только libhttp, но может кто-нибудь что-то получше посоветует?

★★

С собой не надо ничего тащить - qt ставится штатными средствами из репозитория. А вообще там всего 8MB:

% pkg_info -qs qt4-corelib-4.6.3 qt4-network-4.6.3 6528725 1829228

slovazap ★★★★★
()

>Нужна либа, которая реализует и http-клиент и http-сервер.

libevent: http://monkey.org/~provos/libevent/

Но у нее есть некоторые проблемы с HTTP/1.1, конкретно говоря с pipelining'ом. В остальном неплохой клиент-сервер.

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

О! спасибо, похоже это то, что нужно.

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

Ниче, пусть думает что несколько десятков метров, зато школоло девелоперов под Qt меньше будет.

Pantserovik
()
Ответ на: комментарий от kulti

>Но тогда придется сколько-то там десятков метров с собой тащить.

у меня консольное приложение вместе со всеми либами меньше 4 Мб занимает. Десятки метров могут быть разве что в debug сборке

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

>пасатри в сторону QT... там все шикаладно :)
нифига не шоколадно, некоторые места не шибко удобные, многое приходится делать руками, тот же POST multipart/form-data приходится ручками составлять.
Доходит до банального: если сервер использует сжатие (zlib/gzip), то фиг ты средствами Qt определишь размер передаваемых данных, только размер уже распакованной информации. В результате ни траффик посчитать, ни скорость померить.
Разработчик чуть не закрыл багрепорт, типа «так задумано». Еле уговорил оставить.

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

Гм... Просто мне один товарищ, который на qt давно пишет, говорил, что если чисто сеть нужна, то qt тащить невыгодно из-за размера. Может, это под виндой было, а может я его неправильно понял. Посмотрю тогда на qt'шный http, а то libevent не может данные порциями отдавать, callback только на завершение приема...

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

>Может, это под виндой было
я размеры вендовой версии и приводил. Под линуксом вообще ничего тащить не нужно, тут есть зависимости.

Посмотрю тогда на qt'шный http,

не лучшее решение, если изначально на Qt не писать. Для клиента лучше libcurl какой-нибудь использовать. На сервере можно что-нибудь легковесное вроде nginx + свой cgi, если нужна скорость работы, или что-нибудь скриптовое, если скорость написания.

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

Вот здесь есть пример HTTP сервера. Если использовать только Foundation и Net компоненты (больше тебе, похоже, не нужно), то никаких внешних зависимостей нет. По размеру около 2 MiB получится.

undet
()
Ответ на: комментарий от Pantserovik

Успокойтесь уже =) Я ж говорю, что точно не помню. Может, там прога на 50килобайт была, и зачем с ней в систему еще и qt тащить?

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

> В очередной раз советую POCO.

Мне не советовали =) Спасибо, уже читаю.

kulti ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.