Servidor web/Servicio web escrito en C++ en Linux/Windows Server

El requisito es tener una máquina Linux/Windows Server sin instalaciones adicionales, también conocido como Java, apache tomcat/jboss, que podrá servir como servidor web y aceptar solicitudes de servicios web (tendré que escribir algún servicio web en C++ que servir bajo este servidor web).

Entonces, la pregunta es si hay alguna biblioteca de C ++ que proporcione tal simulación de servidor web, ya que desde el exterior debería comportarse de la misma manera: obtener una solicitud http y redirigir al servicio web apropiado.

En términos de licencia, es preferible tener una licencia gratuita para distribución comercial, pero también se considerarán opciones realmente buenas (que merecen su precio).

¡Bienvenido a Recomendaciones de software! Si bien no sé C ++, tengo curiosidad: ¿por qué puede instalar una biblioteca C, pero no un programa C (como Apache)? Además: ¿Conoces el servidor web Apache (no Tomcat)? httpd.apache.org
Hola Angelo, C++ ya se está ejecutando en esta máquina. El requisito es no tener ninguna instalación adicional. Revisaré tu enlace. Gracias.
Hola Mawg, solo estoy investigando en este momento. Hasta ahora, estoy buscando en LibMongoose Library (se recomendó en otro foro), pero no es gratuito para uso comercial.

Respuestas (2)

Hay muchos frameworks escritos en C++, uno de ellos es:

Cutelyst un C++11 construido con Qt, con una de las mejores posiciones en TechEmpower Benchmarks .

Aunque requiere Qt 5.6+, un CMS completo ( CMlyst ) usa alrededor de 6 MB de RAM mientras atiende alrededor de 3000 solicitudes por segundo en un solo núcleo.

Su licencia es LGPLv2.1+, lo que significa que puede usarlo en proyectos comerciales.

Si busca una biblioteca de servidor HTTP (y HTTPS) utilizable desde C o C++, debería considerar libonion (licencia LGPLv3), Wt (licencia GPL o una licencia comercial), o libhttp (licencia MIT) o libmicrohttpd (LGPLv2.1 con licencia).

Con estas bibliotecas, puede crear fácilmente un servidor web desde su aplicación.

Por supuesto, necesita comprender las tecnologías web básicas (HTML5, AJAX, CSS). Estas bibliotecas solo agregan algún servicio HTTP/HTTPS a su código.