Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

use python and add comments to the code please and do not forget the additional concept part note : you need to submite this :

image text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribed

use python and add comments to the code please and do not forget the additional concept part

note : you need to submite this : The client, server .py scripts, and the JSON file

Assignment In this project, the learners should create a client-server system that exchanges information about flights at a certain airport. The emphasis in this project is on client/server architecture, network communication, multithreading, API, and applying good coding practices. The system should consist of two Python scripts (the server and the client). The server should retrieve data of a selected airport from aviationstack.com via the proper API, extract the required information from the retrieved data, manage connections with multiple simultaneous clients, and respond to client requests. The Server Script The server should start by asking about the target airport (ICAO code) and retrieve the information about flights at the specified airport over an API. Then the server should be 5. Wait for clients' requests, search the retrieved data for matching, and send a reply with the matching information. a. All arrived flights (return flight IATA code, departure airport name, arrival time, arrival terminal number, and arrival gate). b. All delayed flights (return flight IATA code, departure airport, original departure time, the estimated time of arrival), arrival terminal, delay, and arrival gate. c. All flights from a specific airport using the airport ICAO code (return flight IATA code, departure airport, original departure time, estimated arrival time, departure gate, arrival gate, and status). d. Details of a particular flight (return flight IATA code; departure airport, gate, and terminal; arrival airport, gate, and terminal; status; scheduled departure time; and scheduled arrival time). The server should display the following details clearly on the server screen: 1. The acceptance of a new connection with the client's name. 2. The requester name, type of request, and request parameters. 3. The disconnection of a client with its name. The Client Script The client script should connect to the server and stay on until the user selects the Quit option. The client should present multiple options for the user; different request types and quit options. The client should send different types of requests, and receive and display the responses. The client should be user-friendly and display the options and results neatly. The client should stay connected and ready to send new requests until the user chooses to quit. The client program should conduct the following tasks: 1. Establish a connection with the server and send the client's username to identify itself. 2. Sends one of the following four request types: a. Arrived flights: the client should display the flight code (IATA), departure airport, arrival time, arrival terminal, and arrival gate. b. Delayed flights: the client should display the flight code (IATA), departure airport, departure time, estimated arrival time, delay, terminal, and gate. c. All flights coming from a specific city: (the client should display flight code (IATA), departure airport, departure time, estimated arrival time, departure gate, arrival gate, and status. d. Details of a particular flight: the client should display flight code (IATA), departure (airport, gate, and terminal), arrival (airport, gate, and terminal), status, scheduled departure time, and scheduled arrival time. 3. Close the connection and leave when the user selects the Quit option. Note: the retrieved information should be displayed clearly and neatly. Additional concepts (10%) : Add a concept that we did not take in the class. Select one of the following topics, learn it, implement it in your code, and explain its basics in your report: 1. TSL/SSL (security): should secure all your packet transactions. Use Wireshark to examine the exchanged packets. You must show that it is working during the demonstration and include pieces of evidence in your report (screenshots of the packet data). 2. Object-Oriented Programming: use object-oriented programming in your coding. Describe, in your report, the basics of OO in Python, and your classes. 3. GUI: use a graphical user interface for the client. It should be easy to use and clear to read. The user should send all requests using the GUI

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Systems For Advanced Applications 18th International Conference Dasfaa 2013 Wuhan China April 22 25 2013 Proceedings Part 2 Lncs 7826

Authors: Weiyi Meng ,Ling Feng ,Stephane Bressan ,Werner Winiwarter ,Wei Song

2013th Edition

3642374492, 978-3642374494

More Books

Students also viewed these Databases questions

Question

Assess three steps in the selection process.

Answered: 1 week ago

Question

Identify the steps in job analysis.

Answered: 1 week ago