Open Source C server Web incorporato SOAP di supporto / servizio web based JSON-RPC e compatibile con processore ARM

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

Domanda

Sto lavorando su un progetto per incorporare un web server scritto in C in un dispositivo. Il requisito è che dovrebbe sostenere i servizi web (SOAP / JSON-RPC) e dovrebbe essere compatibile con processore ARM. Eventuali suggerimenti di prodotti specifici o dove guardare prima?

È stato utile?

Soluzione

Data la sua descrizione: piattaforma basata su Linux con 256 MB di RAM, si può sostanzialmente utilizzare qualsiasi server web che ti piace. 256 MB di RAM prende il dispositivo fuori del territorio tipico incorporato nello spazio server.

Non si preoccupi per il supporto ARM troppo perché è ben supportato dalla comunità di Linux. È una delle architetture che viene ufficialmente supportati da Debian. Io stesso eseguito un paio di server web su ARM in esecuzione Debian e lighttpd con l'hardware avendo solo 32 MB di RAM.

I primi tre server web più popolari (e la popolarità è molto importante perché significa che si può facilmente Google se hai un problema):

  • lighttpd - molto leggero consumato RAM poiché è singolo filettato e molto leggero sull'uso della CPU pure. Lo svantaggio è che può essere lento a rispondere se si tenta di eseguire pesanti, la CPU applicazioni CGI su di esso dal momento che è a thread singolo.

  • Apache2 - pesante utilizzo della RAM. modalità di funzionamento di default di Apache è quello di mantenere le discussioni in vita il più a lungo possibile per gestire carichi pesanti. Questo significa il più delle volte si utilizza la RAM sui processi di dormire. Ma se si ha bisogno di gestire carichi pesanti questa è una buona cosa. Buon per le applicazioni CGI pesanti.

  • Nginx - il nuovo capretto sul blocco. Non come ben documentato (al momento, ovviamente la documentazione migliora con il tempo) sia come lighttpd o Apache, ma le persone sono state dicendo che supera entrambi. Si è multithreaded come Apache2 ma non bloccante come lighttpd quindi ha la meglio dei due mondi: si consuma meno RAM che Apache2 (anche se più di lighttpd) in generale, e si esibisce almeno altrettanto bene se non meglio di Apache2 sotto carico. L'unico vero problema per me è la documentazione.

Altri suggerimenti

Se il dispositivo è davvero a corto di risorse in considerazione una libreria web server integrato come Mongoose o < a href = "http://live.gnome.org/LibSoup" rel = "nofollow"> libsoup (utilizzando GLib ). Si noti comunque che servizi come SOAP e XML parsing in generale sono piuttosto pesante sulle risorse.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top