2009-01-20 24 views
11

Estoy pensando en los siguientes pasos para un proyecto que he escrito. Actualmente es una aplicación de escritorio que controla un dispositivo de puerto serie.¿Servidor web mínimo de código abierto?

Estoy considerando permitir que los clientes del navegador se conecten a algún proceso para obtener actualizaciones "casi en tiempo real" sobre el estado, etc. del dispositivo. Posiblemente también permite el control desde un navegador de cliente.

Prefiero no escribir mi propio servidor web desde cero y esto sería un servidor web muy reducido.

¿Alguna sugerencia sobre dónde buscar?

Prefiero la implementación C++ o C#.

Respuesta

5

no sé cualquier servidor http C#, pero que podría hacer su propia bastante rápido (ver http://www.codeplex.com/webserver).

Según lo sugerido, lighthttpd podría hacer el truco.

También recomendaría simpleweb, que es un servidor http muy ligero y potente escrito en Java.

+0

+1 para simpleweb que tiene soporte asincrónico – ozhan

0

No sé si se ajustará a su proyecto pero http://www.tntnet.org/ parece prometedor. Alternativamente, puede buscar una biblioteca del servidor http que puede agregar su código personalizado para construir un servidor web con la aplicación incrustada. Hay muchos (como libmicrohttpd), que no vale la pena enumerar aquí sin conocer su proyecto.

1

Cuando ejecuta un proyecto web desde Visual Studio, normalmente lo ejecuta a través de Cassini2. Ese es un proyecto descargable también.

De lo contrario, si quiere algo más pequeño, puede mirar la biblioteca de Indy 10 (código abierto), que es un conjunto completo de aplicaciones de red. Probablemente puedas escribir tu propio servidor web bastante rápido con eso.

O, NSoftware también tiene algunas aplicaciones de red. Son comerciales, pero están bien documentados, y he tenido buena suerte con su apoyo (pero ha pasado un tiempo).

5

he oído cosas buenas de un amigo lighthttpd

+0

No sé qué tan "reducido" es, memoria de IRT, etc. ¡Pero es bastante rápido! – Calyth

1

Puesto que usted no está escribiendo usted mismo, tiene que ser un servidor mínimo? Apache y relacionados podrían servir para tu propósito. Es pesado, pero sin conocer más de sus requisitos puede ser un problema o no.

2

nginx es muy ligero y muy escalable (por ejemplo, consulte Wordpress's story para obtener un caso de alto perfil). POSIX-only.

2

Considere la posibilidad de echar un vistazo a la clase System.Net.HTTPListener. Implementa un oyente HTTP que hace que sea muy fácil responder a las solicitudes HTTP de los clientes. Ya que no necesita un servidor HTTP completo, ¡ese es probablemente el camino a seguir!

2

un par de sugerencias:

-1

Usted puede intentar nodejs para construir un servidor web también.

Hay ejemplos disponibles en la aplicación de un simple

2

Aquí hay otra alternativa que escribí el año pasado y y me ha servido bien.

EmbedIO:https://github.com/unosquare/embedio

lo uso sobre todo para crear servicios REST en la Frambuesa Pi (soft-float). También tiene licencia MIT.

Cuestiones relacionadas