Open Source C servidor web incorporado SOAP de apoyo / JSON-RPC servicio web basado y compatible con el procesador ARM

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

Pregunta

Estoy trabajando en un proyecto para integrar un servidor web escrito en C en un dispositivo. El requisito es que debe apoyar los servicios web (SOAP / JSON-RPC) y debe ser compatible con el procesador ARM. Cualquier sugerencia de productos específicos o dónde mirar primero?

¿Fue útil?

Solución

Dada su descripción: plataforma basada en Linux con 256 MB de RAM, básicamente se puede utilizar cualquier servidor web que te gusta. 256 MB de RAM lleva el dispositivo fuera del territorio incrustado típico en el espacio del servidor.

No se preocupe por el apoyo del brazo en demasía, ya que está bien apoyado por la comunidad Linux. Es una de las arquitecturas que está soportado oficialmente por Debian. Yo mismo correr un par de servidores web en ARM corriendo Debian y lighttpd con el hardware de tener sólo 32 MB de RAM.

Los tres principales servidores web más populares (y su popularidad es muy importante, ya que significa que usted puede google fácilmente si usted tiene un problema):

  • lighttpd - muy ligero en el uso de RAM, ya que es de un solo subproceso y muy ligero en uso de la CPU, así. La desventaja es que puede ser lento para responder si intenta ejecutar intensivo de la CPU, las aplicaciones CGI de peso pesado en él, ya que es el único subproceso.

  • Apache 2 - pesado en el uso de RAM. modo de funcionamiento por defecto de Apache es mantener las discusiones vivo el mayor tiempo posible manejar cargas pesadas. Este medio de la mayoría de las veces se utilizan en los procesos de la memoria RAM para dormir. Pero si es necesario que las cargas pesadas de manejar esto es una buena cosa. Bueno para aplicaciones CGI pesados.

  • Nginx - el nuevo chico en el bloque. No tan bien documentado (por el momento, obviamente, la documentación mejora con el tiempo), ya sea como lighttpd o Apache pero la gente ha estado diciendo que supera a ambos. Se multihilo como Apache 2, pero no bloqueante como lighttpd por lo que tiene lo mejor de ambos mundos: se utiliza menos memoria RAM que Apache 2 (aunque más de lighttpd) en general, y lleva a cabo al menos tan bien o mejor que Apache 2 con carga. El único inconveniente real para mí es la documentación.

Otros consejos

Si el dispositivo es realmente corto en recursos considerar una biblioteca de servidor web embebido como Mangosta o < a href = "http://live.gnome.org/LibSoup" rel = "nofollow"> libsoup (usando GLib ). Sin embargo tenga en cuenta que los servicios como SOAP y análisis XML en general son bastante pesada sobre los recursos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top