Find Jobs
Hire Freelancers

Airline Reservation System University Simple Project

$30-250 USD

En curso
Publicado hace más de 8 años

$30-250 USD

Pagado a la entrega
Objective: Implement a client/server database in a Linux or Unix environment programming in C. Python may also be used. Brief Description: This project may be done by one student or by a team of two students. Students will be expected to write precise specifications for modules in the system and test them. Requirements: Students should understand the Unix operating system, particularly locks, semaphores, and sockets. In addition to network communication between processes there are issues of mutual exclusion involved which students should appreciate before they begin to design. Procedure: 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. Lab Report: Write the specifications for each of the modules involved in the system included the format for data communicated over sockets. Submit the source code for the server and for the clients along with the input files used for testing. The source code files MUST be named airline_server.c and agent.c. The input files should be named [login to view URL], [login to view URL], etc.
ID del proyecto: 8220542

Información sobre el proyecto

1 propuesta
Proyecto remoto
Activo hace 9 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
Adjudicado a:
Avatar del usuario
hi, I have experience in linux socket programming and linux internal and IPC like mutux, semaphore, shared memory,multithreading, I have exp in completing project like yours as you can see my profile. regards, Aleem
$155 USD en 3 días
5,0 (5 comentarios)
3,1
3,1

Sobre este cliente

Bandera de UNITED STATES
Dallas, United States
0,0
0
Miembro desde ago 6, 2015

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.