
En este artículo, aprenderemos sobre servidores web en C++. El objetivo principal de un servidor web es manejar las solicitudes HTTP entrantes, procesar todas las solicitudes entrantes y responder con contenido web HTML como devolución de datos. Necesitamos mantener el servidor web en C++ agregando bibliotecas de red (como «sockets») en el entorno C++ para manejar las comunicaciones y los problemas de la red. Un servidor web es la columna vertebral de Internet y un medio de comunicación entre los usuarios y el servidor host. Evaluemos el proceso de configuración de un servidor web simple con un ejemplo de implementación adecuado.
Establecer entorno
Primero debemos configurar todas las opciones requeridas en nuestro entorno. Necesitamos utilizar sockets para escuchar las solicitudes HTTP entrantes. Después de eso, vinculamos el socket a un puerto específico en el host como nuestro sistema. Más tarde, cuando el cliente realiza una solicitud, el servidor escucha estas solicitudes de conexión entrantes. El servidor responde a la solicitud del usuario a través de una solicitud HTTP y captura la solicitud del usuario al servidor. Luego, el servidor procesa la solicitud y devuelve la respuesta HTTP al usuario con el procesamiento adecuado.
Manejo de sockets para servidores web.
En esta sesión aprenderemos sobre sockets para establecer comunicación entre diferentes procesos que se ejecutan en el sistema. Los sockets se utilizan principalmente para establecer comunicación o conexiones entre los navegadores de los clientes y nuestros servidores. La conexión de socket se construye en C++ de la siguiente manera:
Aquí, definimos la biblioteca de sockets como «#include
#incluir
#incluir
#incluir
maestro de enteros() {
int server_fd = conector(AF_INET, SOCK_STREAM, );
si (servidor_fd == –1) {
estándar::error < «Error al crear el socket»;
devolver -1;
}
// Otros
// {
// std::cout<«salida»;
// }
// vinculante
std::cout<«http://:127.0.0.1:8080»;
// Más código aquí
devolver ;
}
El resultado de este código se adjunta a continuación:
Esto muestra que el socket se creó correctamente en C++ para conectarse al servidor web.
Procesamiento de servidor web en C++
El servidor web del sistema está configurado para manejar diferentes conceptos de C++, como clasificación por combinación, clasificación lineal, etc. El servidor web se ejecuta en la computadora local (127.0.0.1) y escucha en el puerto 8080.
Incluya las bibliotecas necesarias en el lenguaje de programación C++ de la siguiente manera:
#incluir <Promover/organización internacional asiática.hpp>
Tenga en cuenta que crear un servidor web en C++ no es un proceso sencillo ni que requiere mucho tiempo. Podemos usar «async_accept» para manejar las conexiones entrantes.
Respuesta del servidor en código C++ en el servidor web
La respuesta del servidor debe ser HTTP, que sea adecuada para el navegador y muestre el resultado en la vista HTML de la página. Todas las bibliotecas administran servidores y manejan todas las solicitudes válidas.
Enlace y monitoreo del servidor web
A continuación, debemos comprender el enlace y el monitoreo del servidor web para ejecutar fácilmente el código en la página web. Después de eso, necesitamos vincular los sockets a una dirección determinada en el sistema, que es básicamente la dirección IP y el puerto en el que estos sockets están activos. En el puerto, comenzamos a escuchar las conexiones entrantes.
Necesitamos inicializar varias bibliotecas para vincularlas y vincularlas.
Podemos vincular el servidor. Si el servidor no funciona o no está conectado, este mensaje no aparecerá en la página en ningún navegador.
Aceptar conexión al servidor web
En esta sección, aprenderemos cómo controlar el flujo de solicitudes de los clientes. El servidor acepta todas las solicitudes de los clientes a través del protocolo HTTP. El socket del servidor indica el tamaño del mensaje que el servidor web recibe del cliente. Este mensaje incluye la dirección y la conexión del socket del servidor, lo que lo hace más claro y único. Si se encuentra el socket del usuario, verificamos si el servidor necesita responder. Si no se encuentra la conexión del socket del usuario, no podremos aceptar la conexión al servidor web.
Métodos para enviar y recibir datos entre cliente y servidor.
Después de establecer la conexión de socket y aceptar la conexión, el siguiente paso es enviar datos al lado del servidor y recibir datos del servidor usando diferentes palabras clave y crear funciones relacionadas con el envío y la recepción de datos en C++. Aquí comprobamos la respuesta de los datos. ¿Esta solicitud es para obtener datos del servidor web o para POST datos? Comprobamos el estado de respuesta de las solicitudes de los clientes. Almacenamos temporalmente todas las solicitudes de los clientes en un búfer para mostrarlas o enviarlas al servidor web.
Clasificación lineal en C++
Aquí realizamos una clasificación lineal y mostramos fácilmente los resultados de la clasificación lineal en el servidor web. El fragmento de código para la clasificación lineal es el siguiente:
#incluir
Utilice el espacio de nombres estándar;
Búsqueda lineal no válida(Llegada de números enteros[]int len, int elemento){
para(entero I=;I<longitud;i++){
si(llegar[i] == proyecto){
kut < cosa < «Encontrado en el índice:» < I;
devolver;
}
}
kut < «extraviado»;
}
maestro de enteros() {
Llegada de números enteros[] = {10, 5, 15, veintiuno–3, 7};
int len = tamaño(llegar)/tamaño(llegar[]);
término entero = veintiuno;
búsqueda lineal(arr, longitud, artículo);
devolver ;
}
En este ejemplo, buscamos el elemento «21» en cuyo índice. Entonces, ejecutemos este código. El resultado de este código se adjunta a continuación:
Esta salida ahora se abre en el servidor web como en cualquier navegador como Chrome, Edge, etc.
Termine todas las conexiones después de que se muestre la salida
Este es el paso final en el procesamiento de datos en el servidor web. Recuerde cerrar la conexión del socket después de realizar la salida requerida. Aquí cerramos el socket usando funciones como «cerrar (server_id)» y «cerrar (zócalo del cliente)».
Cuando finalice el servidor de ejecución, al acceder a la dirección «http://localhost:8080», el resultado esperado se mostrará en la página web.
en conclusión
Al final de este artículo, podemos decir que manejar un servidor web simple en C++ es realmente complejo y requiere concentración total para enviar y recibir solicitudes de clientes HTTP. Podemos ampliar las capacidades del servidor web para mostrar dinámicamente contenido en páginas web. Espero que este artículo le haya resultado útil y que pueda ejecutar los ejemplos en su entorno para comprender los pasos necesarios para construir un servidor web simple usando C++.