Server Web C++ simplu

Server Web C Simplu



În acest articol, vom afla despre serverele web în C++. Scopul principal al serverului web este de a gestiona cererile HTTP care sosesc, de a procesa toate cererile care urmează și de a răspunde cu conținutul web HTML în schimb. Trebuie să menținem serverul web în C++ doar adăugând bibliotecile de rețea în mediul C++, cum ar fi „socket-uri”, pentru a gestiona comunicațiile și problemele de rețea. Un server web este coloana vertebrală a internetului și este o modalitate de comunicare între utilizatori și serverele principale. Să evaluăm procesul de creare a unui server web simplu prin implementări exemple adecvate.

Configurarea mediului

Mai întâi trebuie să setăm toate opțiunile necesare în mediul nostru. Trebuie să folosim socket-urile pentru a asculta solicitările HTTP primite. După aceea, legăm socket-ul la portul specific de pe mașina gazdă ca sistem. După aceea, când clienții apelează pentru cerere, serverul ascultă aceste solicitări conectate primite. Serverul răspunde solicitărilor utilizatorului prin solicitări HTTP pentru a prelua cererea utilizatorului către server. După aceea, serverul se ocupă de cerere și returnează răspunsurile HTTP utilizatorului cu elaborarea adecvată.







Manipularea socket-urilor serverului web

În această sesiune, vom afla că socket-urile creează comunicare între diferite procese care rulează în sistemul nostru. Prizele sunt folosite practic pentru a crea comunicarea sau conexiunea între browser-ul clientului și serverul nostru. Conexiunea prizei este construită în C++ în modul menționat în cele ce urmează:



Aici, vom defini bibliotecile pentru socketuri ca „#include ”. În funcția principală, creăm socket-ul prin inițializarea „server_fd”. După aceea, verificăm valoarea „server_fd” care conține validarea conexiunii stoc. Dacă serverul nu funcționează bine, returnează sau afișează mesajul „Crearea socketului a eșuat”. În caz contrar, mesajul care are adresa IP a serverului web va afișa datele HTML pe serverul web.



#include
#include
#include
int principal ( ) {
int server_fd = socket ( AF_INET, SOCK_STREAM, 0 ) ;
dacă ( server_fd == - 1 ) {
std::cerr << „Crearea socketului a eșuat” ;
întoarcere -1 ;
}
// altfel
// {
// std::cout << 'Ieșire' ;
// }
// lega
std::cout << „http//:127.0.0.1:8080” ;
// Mai multe coduri sunt aici
întoarcere 0 ;
}


Ieșirea acestui cod este atașată în următoarele:






Aceasta arată că socket-ul este creat cu succes în C++ pentru a se conecta la serverul web.

Manevrarea serverului web în C++

Serverul web al sistemului este configurat pentru a gestiona diferitele concepte C++, cum ar fi sortarea prin îmbinare, sortarea liniară, etc. Nu uitați să inițializați bibliotecile importante de rețea. Serverul web rulează pe mașina locală (127.0.0.1) și ascultă pe portul 8080.



Includeți bibliotecile necesare în limbajul de programare C++, după cum urmează:

# include < impuls / asio.hpp >


Amintiți-vă că crearea unui server web în C++ nu este un proces ușor și consumator de timp. Putem gestiona conexiunile de intrare folosind „async_accept”.

Răspunsurile serverului în codul C++ de pe serverul web

Răspunsul serverului trebuie să fie HTTP, care funcționează în browser și arată rezultatul în vizualizarea HTML pe pagina web. Toate bibliotecile gestionează serverele și gestionează toate solicitările valide.

Legarea și ascultarea serverului web

În continuare, trebuie să știm despre legarea și ascultarea serverului web pentru a executa cu ușurință codul pe pagina web. După aceea, trebuie să legăm socket-ul la adresa dată a sistemului nostru, practic adresa IP și portul pe care aceste socket-uri sunt active. Pe port, începem să ascultăm conexiunile de intrare.

Trebuie să inițializam cele câteva biblioteci pentru a lega și a lega.

adresa Sockaddr_in;


Putem lega serverul. Dacă serverul este oprit sau nu este conectat, mesajul nu este afișat pe pagina web a niciunui browser.

Acceptarea conexiunilor la serverul web

În această secțiune, vom afla cum putem controla fluxul cererilor clientului. Serverul acceptă toate solicitările clientului prin protocolul HTTP. Socket-ul serverului indică dimensiunea mesajului care este primit pe serverul web de la client. Mesajul conține mai clar și mai unic conexiunea la socketul serverului și adresa. Verificăm dacă serverul trebuie să răspundă dacă socket-ul utilizatorului este găsit sau nu. Dacă conexiunea socket-ului utilizatorului nu este găsită, nu putem accepta conexiunea la un server web.

Metode de trimitere și primire a datelor de la utilizator și server

După crearea legăturilor socket și acceptarea conexiunii, următorul lucru este să trimiteți datele pe partea de server și să primiți datele de la server folosind diferite cuvinte cheie și să construiți funcțiile care sunt legate de trimiterea și primirea datelor în C++. Aici, verificăm răspunsul datelor. Această solicitare este de a obține datele sau de a POST datele de pe serverul web? Verificăm starea răspunsului la cererea clientului. Stocăm temporar toate solicitările clientului în buffer pentru a afișa mesajul sau ieșirea pe serverul web.

Sortare liniară în C++

Să efectuăm sortarea liniară aici și să afișăm cu ușurință rezultatul sortării liniare pe serverul web. Fragmentul de cod al sortării liniare este atașat în următoarele:

#include
folosind namespace std;
void LinearSearch ( int arr [ ] , int len, int item ) {
pentru ( int i = 0 ;i < len;i++ ) {
dacă ( arr [ i ] == articol ) {
cout << articol << ' Găsit la index : ' << eu;
întoarcere ;
}
}
cout << 'Nu a fost găsit' ;
}
int principal ( ) {
int arr [ ] = { 10 , 5 , cincisprezece , douăzeci și unu , - 3 , 7 } ;
int len ​​= sizeof ( arr ) / dimensiunea ( arr [ 0 ] ) ;
int item = douăzeci și unu ;
Căutare liniară ( arr, len, item ) ;
întoarcere 0 ;
}


În acest exemplu, căutăm articolul „21” la care index. Deci, rulăm acest cod. Ieșirea acestui cod este atașată în următoarele:


Această ieșire este acum deschisă pe serverul web ca în orice browser, cum ar fi Chrome, Edge etc.

Terminați toate conexiunile după afișarea ieșirii

Acesta este ultimul pas în manipularea datelor pe un server web. Nu uitați să închideți conexiunile prizei după efectuarea ieșirii necesare. Închidem socket-ul aici folosind funcții precum „close(server_id)” și „close (client socket)”.

La sfârșitul rulării serverului, rezultatul așteptat este afișat pe pagina web prin accesarea adresei ca „http//localhost:8080”.

Concluzie

La sfârșitul acestui articol, putem spune că gestionarea simplă a serverului web în C++ este cu adevărat complexă și necesită o concentrare deplină pentru a trimite și a primi cererea clientului HTTP. Putem extinde funcționalitatea serverului web pentru a afișa conținutul în mod dinamic pe pagina web. Sperăm că acest articol vă este util și puteți rula aceste exemple în mediul dvs. pentru a înțelege pașii necesari pentru a crea un server web simplu în C++.