Блог

Web server in c

Веб-сервер Ответов 8 Метки нет Все метки Насколько сложно написать на си свой веб-сервер и какие могут возникнуть трудности? Сообщение от Alex9 Я знаю о серевере nginx, но не понимаю пока, какие у него действительно нужные мне функции есть по сравнению с сервером по ссылке.

Не поверишь, я тоже не знаю, какие функции nginx тебе нужны.

Встраиваемый компактный веб-сервер Mongoose / Хабр

Ты бы уточнил, кстати, что тебе нужно, веб сервер или веб приложение 1. Сообщение от Alex9 Я исхожу из профилирования программ на си и моего сайта - первое значительно производительнее. Ты уверен, что ты сравнивал эквивалентные программы, а не тёплое с мягким? Сообщение от Alex9 Я оптимизировал весь контент сайта по руководствам веб-мастеров, но все равно главная страница грузится долго. В большинстве таких случаев виноват не язык, а сама программа.

Встраиваемый HTTP-сервер на C — Development — Форум

Скорее всего, ты просто что-то делаешь не. Я не нашел в гугле материалов по написанию сайтов на си. Почему их не рекомендуете писать на си? Неужели это так сложно?

Сообщение от Alex9 Я не нашел в гугле материалов по написанию сайтов на си. Вот руководство, в котором описывается создание простейших web-приложений на C с CGI уровня Helloworld: Сообщение от Alex9 Почему их не рекомендуете писать на си?

бесплатный хостинг серверов тимспик

Не столько сложно, сколько муторно. Тебе предстоит кучу работы, которую тот же ASP.

dedicated server uses

Если надо поштабильнее, то можно попробовать тот самый libevent, правда на нём решение может выйти неудобным и многословным https: А вообще, если нету специфичных требований если это не админка для встраиваемой системы, напримерто лучше написать FastCGI-сервер и использовать с любым понравившимся веб-сервером.

Вот тебе рублей говорит прохожий бомжу.

веб-сервер на C — Development — Форум

Чё, нахрен мне твои рублей? Давай баксов, не ну посмотрите на него и чего я буду с этими копейками делать? Сказал бомж. И был от души послан нахуй прохожим. Если ты не знаешь как написать, то как ты будешь поддерживать это? Возьми что-нибудь такое http: А вообще прямо в репе boost:: Привяжи к ним свой бэкенд и иди пить пиво. Не спорю что они нормальные. Просто дарёному коню в зубы не смотрят.

Иначе своего коня растить.

Веб-сервер Mongoose в классе Qt C ++

Ну, а если кто жеребца конечно подгонит породистого конечно грех отказываться, но как ты сам сказал маловато кто просто так их раздаёт. Ровно с таким же успехом можно велосипедить сервер самому. Давай я заберу у тебя баксов говорит прохожий президенту. Я полагаю, что на той. Работать с одним соединением в разных потоках — плохая идея. Тут весь плюс именно в асинхронной работе в один поток. Так запрос к базе у вас ведь идет в другом потоке? Тогда нужно добавить очередь запросов и мониторинг соединений.

Это значительно увеличит код. Хорошо, чуть позже добавлю. Запрос к базе может идти в том же потоке, если API базы позволяет. Если не позволяет — да, делаем отдельный поток и городим огород с синхронизацией.

Но тогда это значительно нивелирует преимущества данного подхода. Это не пугает — синхронизация не проблема. Я в комменте ниже описал. А слать данные можно непосредственно когда их обнаружили в очереди, вне обработчика. Главное в том же потоке мангуста. Ну так как раз в этом и вопрос: Тут без коллбэка. И тогда вы будете выжирать много CPU. Это и есть последствия того, что совмещаем два разных подхода — многопоточность и асинхронность.

Возможно можно как-то обойти, но сейчас в голову пока ничего не идет.

Создайте простой HTTP-сервер в C

Интересует есть ли возможность зашедулить Mongoose какое-то пользовательское событие из другой рабочей нити. Ну или HTTP-запрос, но это дороговато мне.

Пользуюсь с года — все хорошо. Сервер принимает запросы от десктопных клиентов в виде сжатого json по http после обращения к БД возвращает результат так-же в виде json. Нагрузка у меня очень мелкая запросов в секунду.

Насчет sqlite не подскажу, для PostgreSQL libpq позволяет делать асинхронные запросы. Любое соединение с БД — это тоже сокет так или.

Спасибо за отзыв, интересно! У sqlite нет сокета она так-же как и мангуст встраиваемая и состоит из одного файла на С но я могу шарить соединение и делать запросы к базе в дочерних нитках. Тогда самое простое — сделать два потока — один под мангуст, другой под работу с базой. Для HTTP нужно что-то повыше.

Network Server in C

Если ты не можешь с лету написать это на Си, то ты недостаточно знаешь Си и лучше напиши это на php, быстрее будет и надежнее. И получишь глюкодром. Я тоже не очень дружу с пыхом, но у меня в багаже великий и ужасный перл, который годится для всего на свете. Cgi - говно и в него лучше не лезть. Для крестов лучше использовать либу POCO, делать сервак и вешать его за nginx. Тем временем, запилил часть, отвечающую за работу с БД. Кого попало, соответственно, в БД пускать не хочется.

Нужна авторизация. Первой мыслью была реализация авторизации силами апача читай - htaccess и htpasswd.