Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

This project aims to develop a client - server application that enables secure communication among multiple clients connected to a server. You have already created

This project aims to develop a client-server application that enables secure communication among multiple clients connected to a server. You have already created an application where a single client can communicate securely. This project extends that by including multiple clients who communicate with each other. The clients will form a group (every client in a single group), and any message or file a client sends will be broadcast to the rest of the group members. The communication will be encrypted using a single key encryption algorithm to ensure confidentiality and security. The application will support text messages and file sharing, with a maximum file size limit of 50 MB.
Develop a client-server architecture that allows multiple clients to connect to a central server. (Already Done)
Implement secure communication between clients and server using a single key encryption algorithm. (Already Done)
Establish a group communication mechanism where messages and files from a client are broadcasted to all other connected clients.
Support text messaging functionality, allowing clients to exchange messages within the group.
Enable file-sharing capabilities, allowing clients to upload and download files up to 50 MB in size.
Make two versions of your applications in which two different modes are supported: confidentiality and integrity.
Implement suitable error handling and validation mechanisms to enhance the reliability of the application. For example, the failure of a client should not disrupt the system.
In general, the project will include the following features:
Client-Server Architecture: Establish a connection-oriented communication model between clients and server.
Confidential Communication: Implement a secure communication where messages and files are encrypted.
Integrity Service: Implement a communication service so that files and messages can be verified to be authentic.
Group Chat: Enable clients to join a group (there is only one group that includes all connected clients) and communicate with other group members by sending text messages.
File Sharing: Allow clients to upload files to the server and download files shared by other clients within the group, with a maximum file size limit of 50 MB.
When sending a file, the sender will provide the name and size of the file along with the actual file to the server.
The server will notify other clients of the broadcasted file, and the clients will accept or deny the file.
If a client accepts a file, the file will be sent.
Ensure that any message or file uploaded by a client is broadcast to all other connected clients within the group.
All communication is synchronous, meaning only available clients will get the messages and the files. If the clients go down or new clients come, they will not get the messages.
User Authentication: Not required.
User Interface: Design a user-friendly interface for the clients to interact with the application, allowing them to send messages and upload/download files easily.

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

Ai And The Lottery Defying Odds With Intelligent Prediction

Authors: Gary Covella Ph D

1st Edition

B0CND1ZB98, 979-8223302568

More Books

Students also viewed these Databases questions

Question

denigration of emotional outbursts; being reserved;

Answered: 1 week ago