Design Multithreaded web server in C++(Socket programming)
What you'll learn
- Learn to design a fully functional, standard and stable http server that can be accessed over the internet using a practical c++ project
- student will learn how to design web server apps like xender, file sharing apps and chat servers using c++
- The student will learn how to implement http server networking functions like bind(), accept(), socket(), listen()
- Learn by practice, how socket programming in C++ works using Linux and their implementations on http server development
- The students, will have a good understanding of system programming in linux and also use the OPEN system call to develop an http web server in c++
Requirements
- This projects works on LINUX, to implement on windows requires a different header files.
Description
In this course we will design a multi-threaded HTTP web server in C++ using socket programming in Linux.
at the end of this course the student will have a good grasp of system programming and also :
1. how HTTP web server processes file request from clients in c++.
2. How the server can handle multiple accept request and concurrent connections using multi-threading in c++.
3. How uploaded files are received , assembled and stored on the server and how the server sends requested file back to the client in c++.
4. how the server receives request and differentiates the different types of request (GET, POST) in c++
5. how to fetch and store GET DATA, POST DATA and COOKIES on the server in c++.
6. You also learn about multi-threading using POSIX thread and how semaphores are used to apply lock in c++.
7. the difference between a web server , chat server, and other types of servers in c++.
8. How to implement networking library functions like accept(), bind(), listen(), socket() in c++
9. How the server accesses IP address of the client using the inet_ntop() function in c++.
10. Learn System programming- how to use system calls in Linux, here we used the OPEN system call in c++.
11. Learn System programming- File handling , how to create, read, write , receive and send files in Linux in c++.
Who this course is for:
- C++ developers
- sql server administrators
- server infracstructure and project servers
- system programmers
Instructor
With over 7years designing vhdl, verilog projects on fpga.
Emmanuel is an embedded c++ system developer. He has strong knowledge in FPGA (Field Programmable Gate Array) development, Digital Electronics, Circuit Board design, and VHDL design and modeling of hardware systems using Logism. His focus of study in school was embedded systems with specialization in soc system on chip, processor core, serial communication protocols and encryption.