Open-Source-C eingebetteten Webserver unterstützt SOAP / JSON-RPC-basierten Web-Service und kompatibel mit ARM-Prozessor

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

Frage

ich an einem Projekt arbeite einen Web-Server geschrieben in C in ein Gerät zu integrieren. Voraussetzung ist, dass es sollte Web-Services (SOAP / JSON-RPC) unterstützen und sollte mit ARM-Prozessor kompatibel sein. Irgendwelche Vorschläge von bestimmten Produkten oder in denen sehen zuerst?

War es hilfreich?

Lösung

Aufgrund Ihrer Beschreibung: Linux-basierte Plattform mit 256 MB RAM, können Sie grundsätzlich eine beliebige Web-Server verwenden, die Sie mögen. 256 MB RAM nimmt das Gerät aus dem typischen eingebetteten Gebiet in dem Serverraum.

Kümmere dich nicht um ARM-Unterstützung zu viel, weil es auch von der Linux-Gemeinde unterstützt wird. Es ist einer der Architekturen, die offiziell von Debian unterstützt wird. Ich selbst laufen ein paar Web-Server auf ARM laufen Debian und lighttpd mit Hardware nur 32MB RAM haben.

Die drei beliebtesten Web-Servern (und Popularität ist sehr wichtig, da es bedeutet, können Sie einfach googeln, wenn Sie ein Problem haben):

  • lighttpd - sehr leicht auf RAM-Auslastung, da es Single-Threaded und sehr leicht auf dem CPU-Auslastung als gut. Der Nachteil ist, dass es langsam zu reagieren sein kann, wenn Sie versuchen, Schwergewicht, CPU-Kapazität CGI-Anwendungen darauf laufen, da es Single-Threaded ist.

  • Apache2 - schwer auf RAM-Nutzung. Apache-Standardbetriebsmodus ist Fäden am Leben zu halten, so lange wie möglich, schwere Lasten zu handhaben. Diese Einrichtung die meiste Zeit aufbrauchen Sie RAM auf Prozesse schlafen. Aber wenn Sie müssen Griff schwerer Lasten DO ist dies eine gute Sache. Geeignet für schwere CGI-Anwendungen.

  • Nginx - das neue Kind auf dem Block. Nicht so gut dokumentiert (im Moment offensichtlich Dokumentation verbessert mit der Zeit) entweder als lighttpd oder Apache, aber die Leute gesagt hat, dass es sowohl trifft. Es ist wie Apache2 multithreaded aber nicht blockierend wie lighttpd, so dass es das Beste aus beiden Welten hat: Es verbraucht weniger RAM, dass Apache2 (obwohl mehr als lighttpd) im Allgemeinen und führt mindestens so gut, wenn nicht besser als Apache2 unter Last. Der einzige wirkliche Nachteil für mich ist die Dokumentation.

Andere Tipps

Wenn das Gerät wirklich kurz auf Ressourcen betrachten eine eingebettete Webserver-Bibliothek wie Mongoose oder < a href = "http://live.gnome.org/LibSoup" rel = "nofollow"> libsoup (mit Glib ). Beachten Sie jedoch, dass Dienstleistungen wie SOAP und XML sind im Allgemeinen ziemlich schwer Parsen auf Ressourcen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top