• Designed and developed a Master Server for an Airline Reservation System using C++ socket programming.
• Had the most enhanced user experience along with the number of features like Encryption, SMTP, IPV6, Database, Multi-threading, Backup and Restore etc.,
The Customer 6
The Distributed Systems
(New and existing Users
Customer Main Page
Customer contd. 7
Book your rides
Update user Info
The Flow Chart
Client is constantly
reading the command
line and writing it to the
Server will process the
the input given
Existing Customer? New Customer?
•Update personal Info
Process the Selected
The System Admin
The sysadmin handles both the flights and the airliner data to meet
Adding, removing, or updating flights/airliner
adding, deleting and backup the database.
Block Diagram: 14
The Commercial Airliner
Acts as a flight customer service agents.
Notifies System admin if there are any changes in Flight details.
Has the authority to add flights, Update, delete and display flight details.
Provides information about Seat availability, Baggage information and on-
Flow Chart: 20
1. ADD FLIGHTS
2. UPDATE FLIGHTS
3. DELETE FLIGHTS
4. DISPLAY FLIGHT DETAILS
Database handling is done using SQLite 3.
Database includes Itinerary comprising the flight number, Seat availability,
Travel class, Baggage info, and on-board facilities.
Provides the database to sysadmin and notifies if there is any update in
Figuring out the “n" terminated string, had to be read correctly.
“The While problem”
Moving on from File based implementation: “The Database”
Databases + BSD socket program : “The Merge”
“Bringing it all together”
We learnt! 25
• Learnt programming using BSD sockets.BSD Sockets
• Concept of threading.
• Memory and resources sharing.
• Communication between them.
• Design and implementation.Client-Server
• Implementing a client-server at an enterprise level, takes a lot of planning and design, this project gave us an
overview as to how a client server model can be implemented at an enterprise level.Implementation
• Learnt about the behaviour of the model at different hierarchy
• Learnt about the difference between different calls in IPV4 and IPV6
IPV4 vs IPV6
• Got to learn about creating and passing queries to the database using SQL.
• The most important task of all is to work as a team effectively, we managed to emerge as a better team.Team Work