ci sono delle semplici / esempio webserver event-driven in C?
-
26-10-2019 - |
Domanda
Ci sono molti server web basati ad esempio filo on-line, ma non ho davvero visto nulla che dà un buon esempio di quello basato evento-loop (senza essere molto complesso, per esempio lighttp e nginx).
Ci sono dei? Se no, che cosa devo leggere / sguardo per aiutarmi a imparare a fare un server di questo tipo? (Questo include asincrona IO in C, ecc.)
I già capire le basi di lavori di programmazione come base di eventi-loop, soprattutto in linguaggi di livello superiore come Python, ma ho bisogno di essere in grado di implementare uno in C.
Soluzione
Ecco uno che fa parte di TupleServer sorgente che usa libevent .
Altri suggerimenti
Non sono sicuro di come l'integrazione di funzionalità di server le vostre esigenze per essere, ma ecco un piccolo server web basato su C che potrebbe essere utilizzato come punto di partenza. Si fork di un processo figlio per ogni connessione, quindi è facile da capire, ma non il più efficiente.
In breve, semplice: libevent.org ed esempio: http: //www.wangafu .net / ~ nickm / libevent-book / . Fino a quando si ottiene la mano libevent, è API lavorando con http che è evhttp non è davvero robusto, c'è un'alternativa a https://github.com/ellzey/libevhtp . E naturalmente libmicrohttpd funziona bene.