¿Cómo mantengo un programa C ++ en ejecución y sigo atendiendo las consultas cuando vienen?

No necesita mangosta ni nada: su patrón es claramente el que se ve a menudo en un servidor web. Básicamente hay dos formas de hacer esto:

  1. Múltiples procesos leídos desde el mismo socket, el primero en obtener la solicitud la interpretará (pero en realidad no es como si la quisiera). Esto es anticuado y se usó principalmente en Linux antes de que el subproceso se volviera barato (cca. 2003). Muchos tutoriales de socket muestran esta forma de hacer las cosas.
  2. Cuando reciba una solicitud, genere un hilo para interpretarla y responder a la solicitud. Entonces tendrá un hilo que estará continuamente esperando solicitudes, y un hilo para cada solicitud. Utilice un grupo de subprocesos si desea limitar el número de subprocesos generados. Consulte, por ejemplo, este tutorial: Ejemplo de servidor y cliente con sockets C en Linux

Ahora, siente que quiere dividir esas solicitudes en dos mitades que me parecen bastante arbitrarias. Esto se hace correctamente haciendo un ciclo ‘escuchar-> aceptar-> leer-> spawn-> repetir desde aceptar’ que puede ver en un servidor web básico. Y es lo primero que enseñan en el jardín de infantes cuando enseñan enchufes. ¿Qué estudian las personas en estos días cuando hacen CompSci? ¿Saltar inmediatamente sobre un marco en el momento en que no recuerdas cómo generar un hilo?

More Interesting

¿Es útil aprender HTML, CSS y JavaScript solo por su conocimiento?

¿Qué tan adecuado es el nuevo Macbook Pro con Retina Display para el desarrollo web?

¿Cuáles son los lenguajes de programación que puedo aprender simultáneamente?

¿Cuál es el papel de $ routeProvider en AngularJS?

¿Cuál es la diferencia entre Ruby y Ruby on Rails? ¿Tengo que conocer a Ruby antes de saltar a Rails?

¿Qué es mejor para el desarrollo web: GWT o Ruby on Rails? ¿Cuáles son las fortalezas y debilidades? ¿Cuándo debo usar uno sobre el otro?

¿Cuántas veces se usa la etiqueta de encabezado para SEO?

En el diseño web con CSS, ¿importa el orden de las reglas de diseño para un elemento HTML dado?

¿Cuáles son los principales componentes HTML y CSS que debería tener cada página moderna de 2016?

Cómo crear una lista permanente en una aplicación web de Python Bottle

¿Cuál es el método correcto para usar consultas de medios CSS para crear un sitio receptivo con Bootstrap?

WordPress: quiero un tema de WordPress bueno, gratuito, básico, mínimo y receptivo. Algo así como un tema de inicio para hacer mis propias modificaciones. ¿Dónde puedo encontrarlo?

¿Cuánto puede aprender sobre el servidor / plataforma para un sitio web dado desde el lado del cliente?

¿Cuáles son los desafíos para mantener una aplicación web .NET? Particularmente preocupado por los problemas de rendimiento.

¿Cómo se generan las diferentes páginas web en sitios web grandes como Quora?