Open Source C serveur Web intégré supportant le service Web SOAP / JSON-RPC et compatible avec le processeur ARM

StackOverflow https://stackoverflow.com/questions/4373602

Question

Je travaille sur un projet visant à intégrer un serveur Web écrit en C dans un dispositif. L'exigence est qu'il devrait soutenir les services Web (SOAP / JSON-RPC) et devrait être compatible avec le processeur ARM. Toute suggestion de produits spécifiques ou par où commencer?

Était-ce utile?

La solution

Compte tenu de votre description: plate-forme Linux avec 256 Mo de RAM, vous pouvez utiliser essentiellement un serveur Web que vous le souhaitez. 256 Mo de RAM prend votre appareil hors du territoire intégré typique dans l'espace serveur.

Ne vous inquiétez pas au sujet du soutien ARM trop car il est bien pris en charge par la communauté Linux. Il est l'une des architectures qui est officiellement pris en charge par Debian. Je me lance deux serveurs Web sur ARM exécutant Debian et lighttpd avec du matériel ayant seulement 32MB RAM.

Les trois serveurs Web les plus populaires (et la popularité est très important car cela signifie que vous pouvez facilement Google si vous avez un problème):

  • lighttpd - très léger sur l'utilisation de la RAM, car il est seul thread et très léger sur l'utilisation du processeur ainsi. L'inconvénient est qu'il peut être lent à répondre si vous essayez d'exécuter des poids lourds, des applications CGI intensive du processeur sur lui car il est seul thread.

  • Apache2 - lourd sur l'utilisation de la RAM. Le mode de fonctionnement par défaut d'Apache est de garder les discussions en vie aussi longtemps que possible de manipuler des charges lourdes. Ce moyen la plupart du temps que vous utilisez la RAM sur les processus du sommeil. Mais si vous avez besoin de charges lourdes de gérer cela est une bonne chose. Bon pour Robustes applications CGI.

  • Nginx - le petit nouveau sur le bloc. Pas aussi bien documenté (en ce moment, de toute évidence la documentation améliore avec le temps) soit comme lighttpd ou Apache, mais les gens ont dit qu'il surclasse tous les deux. Il est multithread comme Apache2 mais non bloquante comme lighttpd il a le meilleur des deux mondes: il utilise moins de RAM que Apache2 (bien plus que lighttpd) en général et comporte au moins aussi bien, sinon mieux que Apache2 sous charge. Le seul véritable inconvénient pour moi est la documentation.

Autres conseils

Si l'appareil est vraiment court sur les ressources envisager une bibliothèque de serveur web embarqué comme Mongoose ou < a href = "http://live.gnome.org/LibSoup" rel = "nofollow"> libsoup (en utilisant GLib ). A noter toutefois que des services tels que l'analyse syntaxique SOAP et XML en général sont assez lourds sur les ressources.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top