27 votes

Serveur web embarqué Open Source C/C++

Je travaille sur un projet où je dois intégrer un serveur web dans mon application C++. Je suis à la recherche d'une bibliothèque open-source supportant SSL, écrite en C ou C++ et avec un schéma de licence qui me permettra de la lier à mon code source fermé existant. Avez-vous des suggestions de produits spécifiques ou d'endroits où chercher en premier ?

2voto

chetto Points 327

J'ai écrit ma réponse précédente au début d'un projet visant à créer une interface Web interactive pour un dispositif PowerPC intégré. Thttpd était le plus petit et le plus facile à mettre en place et à faire fonctionner sur le Linux dépouillé de mon appareil embarqué. Cependant, l'interface interactive nécessitait AJAX et les exigences de performance rendaient Fast-CGI indispensable, ce que thttpd ne supporte pas.

Je suis passé à lighttpd ( http://redmine.lighttpd.net/ ), ce qui a très bien fonctionné. Lighttpd utilise de nombreux modules chargeables qui fournissent un grand nombre de fonctionnalités très avancées, mais permettent un faible encombrement (nécessaire pour le développement embarqué) en excluant tous les modules dont vous n'avez pas besoin. Le seul problème que j'ai rencontré lors de la compilation croisée de lighttpd a été de réaliser que je devais ajouter

 #define IPV6_V6ONLY             26

à src/sys-socket.h parce que la version de linux sur mon appareil est assez ancienne pour ne pas inclure un changement de la norme IPV6. Je suis toujours étonné de voir à quel point la charge CPU de lighttpd + mes applications C Fast-CGI est faible. lighttpd est un projet open-source en développement actif, et publié sous une licence BSD révisée.

(Je réalise que la question initiale portait sur l'intégration d'un serveur Web dans une application, mais je propose ce conseil car de nombreuses personnes à la recherche d'un serveur Web pour un environnement intégré trouveront cette page en raison de son titre. J'allais initialement intégrer un serveur web dans mon application, mais il s'est avéré préférable d'avoir un seul serveur web que plusieurs applications peuvent utiliser via Fast-CGI).

0voto

AjayR Points 2773

J'utilise le serveur web embarqué GoAhead dans ce but depuis des années. Il supporte SSL et a un très faible encombrement. Vous pouvez essayer ceci.

0voto

user52875 Points 1959

Pour tout ce qui n'est pas une interface web triviale, j'opterais pour Wt . Inclut un serveur web, a une interface C++ propre, peut être lié statiquement, est facile à intégrer dans un processus existant, relativement petit. Outil très productif !

0voto

elcuco Points 3953

Êtes-vous sûr d'en avoir besoin en interne et non comme une application distincte ?

Parce que si cela ne vous dérange pas de configurer un serveur tiers, busybox (pas de https) ou lighttpd (très bonne idée de l'utiliser IMHO) sont de bons candidats.

0voto

chetto Points 327

Thttpd ( http://www.acme.com/software/thttpd ) est très léger et facile à installer sur un système embarqué.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X