Есть ли какие-нибудь простые / примерные управляемые событиями веб-серверы в C? - PullRequest
6 голосов
/ 11 июня 2011

Есть много примеров веб-серверов, основанных на потоках, но я действительно не видел ничего, что дало бы хороший пример основанного на цикле событий сервера (не будучи очень сложным, например, lighttp и nginx).

Есть ли? Если нет, что я должен прочитать / посмотреть, чтобы помочь мне научиться делать сервер такого рода? (Это включает асинхронный ввод-вывод в C и т. Д.)

Я уже понимаю основы того, как работает программирование на основе цикла событий, особенно в языках более высокого уровня, таких как Python, но мне нужно иметь возможность реализовать его в C.

Ответы [ 3 ]

2 голосов
/ 11 июня 2011

Вот один , который является частью TupleServer источника, который использует libevent .

0 голосов
/ 17 марта 2014

Короче говоря, просто: libevent.org и пример: http://www.wangafu.net/~nickm/libevent-book/.До тех пор, пока вы получаете свою руку в libevent, его API работает с http, что делает evhttp не очень надежным, есть альтернатива на https://github.com/ellzey/libevhtp.И, конечно, libmicrohttpd работает просто отлично.

0 голосов
/ 11 июня 2011

Не уверен, насколько полнофункциональным должен быть ваш сервер, но вот небольшой веб-сервер на основе C, который можно использовать в качестве отправной точки.Он разветвляет дочерний процесс для каждого соединения, поэтому его легко понять, но он не самый эффективный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...