Server Web C++ semplice

Server Web C Semplice



In questo articolo impareremo a conoscere i server Web in C++. Lo scopo principale del server Web è gestire le richieste HTTP in arrivo, elaborare tutte le richieste in arrivo e rispondere in cambio con il contenuto Web HTML. Dobbiamo mantenere il server Web in C++ semplicemente aggiungendo le librerie di rete nell'ambiente C++, come i 'socket', per gestire le comunicazioni e i problemi di rete. Un server web è la spina dorsale di Internet ed è un mezzo di comunicazione tra gli utenti e i server principali. Valutiamo il processo di creazione di un semplice server web attraverso corrette implementazioni di esempio.

Impostazione dell'ambiente

Dobbiamo prima impostare tutte le opzioni richieste nel nostro ambiente. Dobbiamo utilizzare i socket per ascoltare le richieste HTTP in entrata. Successivamente, colleghiamo il socket alla porta specifica sulla macchina host come nostro sistema. Successivamente, quando i client richiedono la richiesta, il server ascolta queste richieste connesse in entrata. Il server risponde alle richieste dell'utente tramite richieste HTTP per recuperare la richiesta dell'utente al server. Successivamente, il server gestisce la richiesta e restituisce le risposte HTTP all'utente con la corretta elaborazione.







Gestione dei Socket del Web Server

In questa sessione impareremo che i socket creano comunicazione tra diversi processi eseguiti nel nostro sistema. I socket vengono fondamentalmente utilizzati per creare la comunicazione o la connessione tra il browser del cliente e il nostro server. La connessione del socket è creata in C++ nel modo menzionato di seguito:



Qui definiremo le librerie per i socket come “#include ”. Nella funzione main creiamo il socket inizializzando “server_fd”. Successivamente, controlliamo il valore di 'server_fd' che contiene la convalida della connessione stock. Se il server è inattivo e non funziona correttamente, restituisce o visualizza il messaggio 'Creazione socket non riuscita'. Altrimenti, il messaggio che ha l'indirizzo IP del server web mostrerà i dati HTML sul server web.



#include
#include
#include
int principale ( ) {
int server_fd = presa ( AF_INET, SOCK_STREAM, 0 ) ;
Se ( server_fd == - 1 ) {
std::cerr << 'Creazione del socket non riuscita' ;
ritorno -1 ;
}
// altro
// {
// std::cout << 'Uscita' ;
// }
// legamento
std::cout << 'http//:127.0.0.1:8080' ;
// Ulteriore codice va qui
ritorno 0 ;
}


L'output di questo codice è allegato di seguito:






Ciò dimostra che il socket è stato creato correttamente in C++ per connettersi al server web.

Gestione del server Web in C++

Il server web del sistema è configurato per gestire i diversi concetti C++ come l'ordinamento di tipo merge, l'ordinamento lineare, ecc. Ricordarsi di inizializzare le importanti librerie di rete. Il server web viene eseguito sul computer locale (127.0.0.1) e ascolta sulla porta 8080.



Includere le librerie necessarie nel linguaggio di programmazione C++ come segue:

# includere < aumento / asio.hpp >


Ricorda che creare un server web in C++ non è un processo facile e dispendioso in termini di tempo. Possiamo gestire le connessioni in entrata utilizzando 'async_accept'.

Risposte del server nel codice C++ sul server Web

La risposta del server deve essere HTTP che funziona sul browser e mostra l'output nella visualizzazione HTML sulla pagina web. Tutte le biblioteche gestiscono i server e gestiscono tutte le richieste valide.

Binding e ascolto del Web Server

Successivamente, dobbiamo conoscere l'associazione e l'ascolto del server web per eseguire facilmente il codice sulla pagina web. Successivamente, dobbiamo associare il socket all'indirizzo fornito del nostro sistema, fondamentalmente l'indirizzo IP e la porta su cui questi socket sono attivi. Sul porto iniziamo ad ascoltare le connessioni in entrata.

Dobbiamo inizializzare le poche librerie da associare e collegare.

Indirizzo Sockaddr_in;


Possiamo vincolare il server. Se il server è inattivo o non connesso, il messaggio non viene visualizzato sulla pagina web di nessun browser.

Accettare le Connessioni al Web Server

In questa sezione impareremo come possiamo controllare il flusso delle richieste del cliente. Il server accetta tutte le richieste del client tramite il protocollo HTTP. Il socket del server indica la dimensione del messaggio che viene ricevuto sul server web dal client. Il messaggio contiene la connessione e l'indirizzo del socket del server in modo più chiaro e univoco. Controlliamo se il server deve rispondere se il socket utente viene trovato o meno. Se la connessione socket utente non viene trovata, non possiamo accettare la connessione a un server web.

Metodi di invio e ricezione dei dati dall'utente e dal server

Dopo aver creato i collegamenti socket e accettato la connessione, il passo successivo è inviare i dati al lato server e ricevere i dati dal server utilizzando parole chiave diverse e creando le funzioni correlate all'invio e alla ricezione dei dati in C++. Qui controlliamo la risposta dei dati. Questa richiesta è per ottenere i dati o per POSTARE i dati dal server web? Controlliamo lo stato di risposta della richiesta del cliente. Archiviamo temporaneamente tutte le richieste del client nel buffer per visualizzare il messaggio o l'output sul server web.

Ordinamento lineare in C++

Eseguiamo qui l'ordinamento lineare e visualizziamo facilmente il risultato dell'ordinamento lineare sul server web. Lo snippet di codice dell'ordinamento lineare è allegato di seguito:

#include
utilizzando lo spazio dei nomi std;
void Ricerca lineare ( int arr [ ] , int lente, int elemento ) {
per ( int io = 0 ;io < len;i++ ) {
Se ( arr [ io ] == oggetto ) {
cout << articolo << 'Trovato all'indice:' << io;
ritorno ;
}
}
cout << 'Non trovato' ;
}
int principale ( ) {
int arr [ ] = { 10 , 5 , quindici , ventuno , - 3 , 7 } ;
int len ​​= dimensione di ( arr ) / taglia di ( arr [ 0 ] ) ;
elemento intero = ventuno ;
Ricerca lineare ( arr, len, articolo ) ;
ritorno 0 ;
}


In questo esempio, cerchiamo l'elemento '21' in cui indice. Quindi, eseguiamo questo codice. L'output di questo codice è allegato di seguito:


Questo output è ora aperto sul server Web come in qualsiasi browser come Chrome, Edge, ecc.

Terminare tutte le connessioni dopo la visualizzazione dell'output

Questo è l'ultimo passaggio nella gestione dei dati su un server web. Ricordarsi di chiudere le connessioni socket dopo aver eseguito l'output richiesto. Chiudiamo qui il socket utilizzando le funzioni come “close(server_id)” e “close (client socket)”.

Al termine dell'esecuzione del server, l'output previsto viene visualizzato sulla pagina web accedendo all'indirizzo come “http//localhost:8080”.

Conclusione

Alla fine di questo articolo, possiamo dire che la semplice gestione del server web in C++ è davvero complessa e richiede la massima concentrazione per inviare e ricevere la richiesta del client HTTP. Possiamo espandere la funzionalità del server web per visualizzare il contenuto dinamicamente sulla pagina web. Si spera che questo articolo sia utile per te e che tu possa eseguire questi esempi nel tuo ambiente per comprendere i passaggi necessari per creare un semplice server Web in C++.