Servidor web C++ simple

Servidor Web C Simple



En aquest article, aprendrem sobre els servidors web en C++. L'objectiu principal del servidor web és gestionar les sol·licituds HTTP que arriben, processar totes les sol·licituds i respondre amb el contingut HTML web a canvi. Hem de mantenir el servidor web en C++ només afegint les biblioteques de xarxa a l'entorn C++, com ara 'sockets', per gestionar les comunicacions i problemes de xarxa. Un servidor web és la columna vertebral d'Internet i és una forma de comunicació entre els usuaris i els servidors principals. Avaluem el procés de creació d'un servidor web senzill mitjançant implementacions d'exemple adequades.

Configuració de l'entorn

Primer hem de configurar totes les opcions necessàries al nostre entorn. Hem d'utilitzar els endolls per escoltar les sol·licituds HTTP entrants. Després d'això, enllacem el sòcol al port específic de la màquina amfitrió com a sistema. Després d'això, quan els clients demanen la sol·licitud, el servidor escolta aquestes peticions entrants connectades. El servidor respon a les sol·licituds de l'usuari mitjançant peticions HTTP per obtenir la sol·licitud de l'usuari al servidor. Després d'això, el servidor gestiona la sol·licitud i retorna les respostes HTTP a l'usuari amb l'elaboració adequada.







Gestió de sockets del servidor web

En aquesta sessió, aprendrem que els sòcols creen comunicació entre diferents processos que s'executen al nostre sistema. Els endolls s'utilitzen bàsicament per crear la comunicació o connexió entre el navegador del client i el nostre servidor. La connexió del sòcol es construeix en C++ de la manera que s'esmenta a continuació:



Aquí, definirem les biblioteques per a sockets com '#include '. A la funció principal, creem el sòcol inicialitzant el 'server_fd'. Després d'això, comprovem el valor del 'server_fd' que conté la validació de la connexió d'estoc. Si el servidor no funciona i no funciona bé, retorna o mostra el missatge 'Ha fallat la creació del sòcol'. En cas contrari, el missatge que té l'adreça IP del servidor web mostrarà les dades d'HTML al servidor web.



#inclou
#include
#include
int principal ( ) {
int server_fd = sòcol ( AF_INET, SOCK_STREAM, 0 ) ;
si ( server_fd == - 1 ) {
std::cerr << 'La creació del sòcol ha fallat' ;
tornar -1 ;
}
// altra cosa
// {
// std::cout << 'sortir' ;
// }
// lligar
std::cout << 'http://:127.0.0.1:8080' ;
// Més codi va aquí
tornar 0 ;
}


La sortida d'aquest codi s'adjunta a continuació:






Això mostra que el sòcol s'ha creat correctament en C++ per connectar-se amb el servidor web.

Gestió del servidor web en C++

El servidor web del sistema està configurat per gestionar els diferents conceptes de C++, com ara l'ordenació combinada, l'ordenació lineal, etc. Recordeu inicialitzar les biblioteques de xarxa importants. El servidor web s'executa a la màquina local (127.0.0.1) i escolta al port 8080.



Incloeu les biblioteques necessàries al llenguatge de programació C++ de la següent manera:

# incloure < estímul / asio.hpp >


Recordeu que crear un servidor web en C++ no és un procés fàcil i que requereix molt de temps. Podem gestionar les connexions entrants mitjançant 'async_accept'.

Respostes del servidor al codi C++ al servidor web

La resposta del servidor ha de ser HTTP que funciona al navegador i mostra la sortida a la vista HTML de la pàgina web. Totes les biblioteques gestionen els servidors i gestionen totes les peticions vàlides.

Enquadernació i escolta del servidor web

A continuació, hem de conèixer l'enllaç i l'escolta del servidor web per executar el codi a la pàgina web fàcilment. Després d'això, hem d'enllaçar el sòcol a l'adreça donada del nostre sistema, bàsicament l'adreça IP i el port on aquests sòcols estan actius. Al port, comencem a escoltar les connexions entrants.

Hem d'inicialitzar les poques biblioteques per lligar i enllaçar.

Adreça Sockaddr_in;


Podem vincular el servidor. Si el servidor està inactiu o no està connectat, el missatge no es mostra a la pàgina web de cap navegador.

Acceptació de les connexions al servidor web

En aquesta secció, aprendrem com podem controlar el flux de les peticions del client. El servidor accepta totes les peticions del client mitjançant el protocol HTTP. El sòcol del servidor indica la mida del missatge que es rep al servidor web del client. El missatge conté la connexió i l'adreça del sòcol del servidor de manera més clara i única. Comprovem si el servidor ha de respondre si es troba el sòcol de l'usuari o no. Si no es troba la connexió del sòcol de l'usuari, no podem acceptar la connexió a un servidor web.

Mètodes d'enviament i recepció de dades de l'usuari i del servidor

Després de crear els enllaços de socket i acceptar la connexió, el següent és enviar les dades al costat del servidor i rebre les dades del servidor mitjançant diferents paraules clau i construir les funcions relacionades amb l'enviament i la recepció de dades en C++. Aquí, comprovem la resposta de les dades. Aquesta sol·licitud és per obtenir les dades o per POST les dades del servidor web? Comprovem l'estat de resposta de la sol·licitud del client. Emmagatzemem temporalment totes les sol·licituds del client a la memòria intermèdia per mostrar el missatge o la sortida al servidor web.

Ordenació lineal en C++

Realitzem aquí l'ordenació lineal i mostrem fàcilment el resultat de l'ordenació lineal al servidor web. El fragment de codi de l'ordenació lineal s'adjunta a continuació:

#include
utilitzant namespace std;
void LinearSearch ( int arr [ ] , int len, int element ) {
per ( int i = 0 ;i < len;i++ ) {
si ( arr [ i ] == element ) {
cout << article << ' Trobat a l'índex : ' << i;
tornar ;
}
}
cout << 'No trobat' ;
}
int principal ( ) {
int arr [ ] = { 10 , 5 , 15 , 21 , - 3 , 7 } ;
int len ​​= sizeof ( arr ) / mida de ( arr [ 0 ] ) ;
int element = 21 ;
Cerca lineal ( arr, len, ítem ) ;
tornar 0 ;
}


En aquest exemple, cerquem l'ítem '21' en quin índex. Per tant, executem aquest codi. La sortida d'aquest codi s'adjunta a continuació:


Aquesta sortida ara està oberta al servidor web com en qualsevol navegador com ara Chrome, Edge, etc.

Finalitzeu totes les connexions després de la pantalla de sortida

Aquest és l'últim pas per gestionar les dades en un servidor web. Recordeu tancar les connexions del sòcol després de realitzar la sortida requerida. Tanquem el sòcol aquí utilitzant les funcions com ara 'tancar (id_servidor)' i 'tancar (socket del client)'.

Al final de l'execució del servidor, la sortida esperada es mostra a la pàgina web accedint a l'adreça com a 'http//localhost:8080'.

Conclusió

Al final d'aquest article, podem dir que el simple maneig del servidor web en C++ és realment complex i necessita una concentració total per enviar i rebre la sol·licitud del client HTTP. Podem ampliar la funcionalitat del servidor web per mostrar el contingut de manera dinàmica a la pàgina web. Tant de bo, aquest article us sigui útil i podeu executar aquests exemples al vostre entorn per comprendre els passos necessaris per crear un servidor web senzill en C++.