Créer un serveur HTTP

Problème

Vous voulez implémenter un serveur HTTP dans votre programme. Cela vous permettrait de créer un serveur web, ou de pouvoir vous connecter à distance à votre programme...

Solution

Utilisez la bibliothèque libmicrohttpd pour créer rapidement un serveur HTTP.

Discussion

La bibliothèque libmicrohttpd permet d’implémenter facilement un serveur HTTP basique. Vous pouvez l’installer comme vous avez l’habitude d’installer des bibliothèques, ou la télécharger depuis http://www.gnu.org/software/libmicrohttpd/.

Libmicrohttpd propose une fonction MHD_start_daemon() qui effectue tout le travail à votre place. Voici son prototype :


_MHD_EXTERN struct MHD_Daemon *  
MHD_start_daemon_va (unsigned int flags,  
                     uint16_t port,  
                     MHD_AcceptPolicyCallback apc, void *apc_cls,  
                     MHD_AccessHandlerCallback dh, void *dh_cls,  
                     va_list ap); 
 

Le premier argument, flags, permet de choisir entre plusieurs types d’implémentation du serveur HTTP, en particulier l’utilisation de select() (MHD_USE_SELECT_INTERNALLY) ou d’un thread par connexion (MHD_USE_THREAD_PER_CONNECTION). Il est possible d’indiquer des options supplémentaires...

Pour consulter la suite, découvrez le livre suivant :
couv_EI3CACT.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Télécharger et transférer des fichiers avec le protocole FTP
Suivant
Envoyer un courrier électronique