Server Web C++ sederhana

Server Web C Sederhana



Pada artikel ini, kita akan belajar tentang server web di C++. Tujuan utama server web adalah menangani permintaan HTTP yang masuk, memproses semua permintaan yang datang, dan merespons dengan konten HTML web sebagai balasannya. Kita perlu memelihara server web di C++ dengan hanya menambahkan perpustakaan jaringan di lingkungan C++, seperti “soket”, untuk menangani komunikasi dan masalah jaringan. Server web adalah tulang punggung internet dan merupakan cara komunikasi antara pengguna dan server utama. Mari kita evaluasi proses pembuatan server web sederhana melalui contoh implementasi yang tepat.

Menyiapkan Lingkungan

Pertama-tama kita perlu menyiapkan semua opsi yang diperlukan di lingkungan kita. Kita perlu memanfaatkan soket untuk mendengarkan permintaan HTTP yang masuk. Setelah itu, kami mengikat soket ke port tertentu di mesin host sebagai sistem kami. Setelah itu, ketika klien memanggil permintaan tersebut, server mendengarkan permintaan terhubung yang masuk ini. Server merespons permintaan pengguna melalui permintaan HTTP untuk mengambil permintaan pengguna ke server. Setelah itu, server menangani permintaan dan mengembalikan respons HTTP ke pengguna dengan pengerjaan yang tepat.







Penanganan Soket Server Web

Dalam sesi ini, kita akan mempelajari bahwa soket menciptakan komunikasi antara berbagai proses yang berjalan di sistem kita. Soket pada dasarnya digunakan untuk membuat komunikasi atau koneksi antara browser klien dan server kami. Koneksi soket dibangun di C++ dengan cara yang disebutkan berikut ini:



Di sini, kita akan mendefinisikan perpustakaan untuk soket sebagai “#include ”. Pada fungsi utama, kita membuat soket dengan menginisialisasi “server_fd”. Setelah itu, kami memeriksa nilai “server_fd” yang berisi validasi koneksi stok. Jika server sedang down dan tidak berfungsi dengan baik, server akan mengembalikan atau menampilkan pesan “Pembuatan soket gagal”. Jika tidak, pesan yang memiliki alamat IP server web akan menampilkan data HTML di server web.



#termasuk
#termasuk
#termasuk
ke utama ( ) {
int server_fd = soket ( AF_INET, SOCK_STREAM, 0 ) ;
jika ( server_fd == - 1 ) {
std::cerr << 'Pembuatan soket gagal' ;
kembali -1 ;
}
// kalau tidak
// {
// std::cout << 'KELUAR' ;
// }
// mengikat
std::cout << 'http//:127.0.0.1:8080' ;
// Kode selanjutnya ada di sini
kembali 0 ;
}


Output dari kode ini terlampir sebagai berikut:






Ini menunjukkan bahwa soket berhasil dibuat di C++ untuk terhubung dengan server web.

Penanganan Server Web di C++

Server web sistem disiapkan untuk menangani berbagai konsep C++ seperti pengurutan gabungan, pengurutan linier, dll. Ingatlah untuk menginisialisasi pustaka jaringan penting. Server web berjalan pada mesin lokal (127.0.0.1) dan mendengarkan pada port 8080.



Sertakan perpustakaan yang diperlukan dalam bahasa pemrograman C++ sebagai berikut:

# termasuk < mendorong / asio.hpp >


Ingatlah bahwa membuat server web di C++ bukanlah proses yang mudah dan memakan waktu. Kita dapat menangani koneksi masuk menggunakan “async_accept”.

Respons Server dalam Kode C++ di Server Web

Respons server harus berupa HTTP yang berfungsi di browser dan menampilkan output pada tampilan HTML di halaman web. Semua perpustakaan mengelola server dan menangani semua permintaan yang valid.

Mengikat dan Mendengarkan Server Web

Selanjutnya, kita perlu mengetahui tentang pengikatan dan pendengaran server web untuk mengeksekusi kode pada halaman web dengan mudah. Setelah itu, kita perlu mengikat soket ke alamat yang diberikan pada sistem kita, pada dasarnya alamat IP dan port tempat soket tersebut aktif. Di port, kami mulai mendengarkan koneksi masuk.

Kita perlu menginisialisasi beberapa perpustakaan untuk diikat dan ditautkan.

Alamat Sockaddr_in;


Kita dapat mengikat server. Jika server sedang down atau tidak terhubung, pesan tersebut tidak ditampilkan di halaman web browser apa pun.

Menerima Koneksi ke Server Web

Di bagian ini, kita akan mempelajari bagaimana kita dapat mengontrol aliran permintaan klien. Server menerima semua permintaan klien melalui protokol HTTP. Soket server menunjukkan ukuran pesan yang diterima di server web dari klien. Pesan tersebut berisi koneksi dan alamat soket server dengan lebih jelas dan unik. Kami memeriksa apakah server perlu merespons apakah soket pengguna ditemukan atau tidak. Jika koneksi soket pengguna tidak ditemukan, kami tidak dapat menerima koneksi ke server web.

Metode Mengirim dan Menerima Data dari Pengguna dan Server End

Setelah membuat tautan soket dan menerima koneksi, selanjutnya adalah mengirim data ke sisi server dan menerima data dari server menggunakan kata kunci yang berbeda dan membangun fungsi yang terkait dengan pengiriman dan penerimaan data dalam C++. Di sini, kami memeriksa respons data. Apakah permintaan ini untuk mendapatkan data atau untuk POST data dari server web? Kami memeriksa status respons permintaan klien. Kami menyimpan sementara semua permintaan klien di buffer untuk menampilkan pesan atau output di server web.

Penyortiran Linier di C++

Mari lakukan pengurutan linier di sini dan tampilkan hasil pengurutan linier di server web dengan mudah. Cuplikan kode penyortiran linier terlampir sebagai berikut:

#termasuk
menggunakan namespace std;
membatalkan LinearSearch ( ke dalam arr [ ] , ke dalam len, ke dalam barang ) {
untuk ( ke dalam Saya = 0 ;Saya < len;i++ ) {
jika ( arr [ Saya ] == barang ) {
cout << barang << ' Ditemukan di indeks : ' << Saya;
kembali ;
}
}
cout << 'Tidak ditemukan' ;
}
ke utama ( ) {
ke dalam arr [ ] = { 10 , 5 , limabelas , dua puluh satu , - 3 , 7 } ;
int len ​​= ukuranof ( arr ) / ukuran dari ( arr [ 0 ] ) ;
ke dalam barang = dua puluh satu ;
Pencarian Linear ( arr, len, barang ) ;
kembali 0 ;
}


Dalam contoh ini, kita mencari item “21” di indeks mana. Jadi, kami menjalankan kode ini. Output dari kode ini terlampir sebagai berikut:


Output ini sekarang terbuka di server web seperti di browser apa pun seperti Chrome, Edge, dll.

Hentikan Semua Koneksi Setelah Tampilan Output

Ini adalah langkah terakhir dalam menangani data di server web. Ingatlah untuk menutup koneksi soket setelah melakukan keluaran yang diperlukan. Kami menutup soket di sini menggunakan fungsi seperti “close(server_id)” dan “close (client socket)”.

Di akhir menjalankan server, output yang diharapkan ditampilkan pada halaman web dengan mengakses alamat sebagai “http//localhost:8080”.

Kesimpulan

Di akhir artikel ini dapat dikatakan bahwa penanganan server web sederhana di C++ sangatlah kompleks dan memerlukan konsentrasi penuh untuk mengirim dan menerima permintaan klien HTTP. Kita dapat memperluas fungsionalitas server web untuk menampilkan konten secara dinamis di halaman web. Semoga artikel ini bermanfaat bagi Anda, dan Anda dapat menjalankan contoh ini di lingkungan Anda untuk memahami langkah-langkah yang diperlukan untuk membuat server web sederhana di C++.