Airline reservation

Completed Posted Aug 4, 2015 Paid on delivery
Completed Paid on delivery

A central computer holds the database for airlines reservations for Adirondack Air which runs four flights numbers 1 through 4. The plane capacities for these flights are 5, 2, 10, and 10, respectively. Travel agents from all over the world can access the reservation system by running a local application which calls up the central computer and runs an interactive session that supports the following commands:

Format of Command:

Query for number of seats available on flight x: Q x

Reserve seats I, j, etc. user name nm: R I j .. nm

Cancel seats for flight x under name n: C x n

The query command will first display the seat numbers of all the available seats on flight x if there are any. If none are available, the query ends with the message “none available.” Otherwise, the travel agent may book any number of those seats for a name (say Jones) with the command R 1 6 2 9 Jones. Here 1 6 2 9 is the list of seats that are to be reserved for Jones. You should check that the requested seats are in the list of available seats. Any number of agents may access the reservation system concurrently. You will need to lock the flight record for the duration of this transaction so no other agent can take an available seat in the interim. If there is already a lock on the data, the server should send an explanatory message to the travel agent, because the agent will have to wait. If the travel agent responds with a C (cancel), terminate the query without allocating any seats.

Cancel should make available all seats under the given name on the specified flight, and then display the current number of seats now available.

On the server’s monitor, display the current state of the database in real time. Indicate which seats are reserved and by whom. As soon as a change occurs, the screen should be updated. On the same screen show which clients are currently active.

The system should be robust in the sense that any erroneous command elicits a reasonable error message. Communication over the network will use sockets. The database will be in one file. The data on the file will be locked at the record level by the Unix lock system call. The server will fork a child to handle each new interaction session from a travel agent. Use TCP/IP sockets to communicate between server and clients. In other words, use the method described in section 6.4.1, “Per-Client Processes”, of the book TCP/IP Sockets in C. Test your program by having the agents read a series of commands from a file and record the output on the server to see that it is consistent with the order of messages from the agent clients.

C Programming Python

Project ID: #8205530

About the project

5 proposals Remote project Active Aug 4, 2015

Awarded to:

hassanalvi95

Well sir i am expert in C and i can work for you in given amount and in given time .. So sir let me know if you are interested in my offer ... Thanks ..

$166 USD in 3 days
(1 Review)
0.4

5 freelancers are bidding on average $159 for this job

adityakhanna

Programming expert in python Coursera Data Science & R Certified Successfully 11 Completed Freelance Project https://www.freelancer.com/jobs/r/programming-Hadoop/ https://www.freelancer.com/jobs/project-7399544/ More

$250 USD in 5 days
(0 Reviews)
2.4
sbivol

Hi! I can program your client-server application in Python. I usually program for Linux, but if you need to run it on Mac - no problem.

$100 USD in 10 days
(0 Reviews)
0.0
vw8130818vw

If I am given a chance then I will complete your application within 7 days as per your uploaded files requirement Thank you You may contact me to discuss anyting regarding implementation

$155 USD in 7 days
(0 Reviews)
0.0
kataki31

Although I am new to freelance but I have excellent C programming skills.

$122 USD in 10 days
(0 Reviews)
0.0