Problem Statement
In the context of client-server interactions, especially in environments relying on C programming on Linux systems, there are significant challenges related to file retrieval efficiency and server load management. Issues often arise from inadequate load balancing, inefficient file search mechanisms, and the potential for incorrect command execution due to user errors. These problems can severely impact the performance and reliability of file-sharing applications.
How my Project Solves it
Developed a robust client-server application in C on a Linux platform that enables clients to effortlessly request files from the server. This application streamlines the process of file sharing and retrieval across the network.
Implemented an innovative C-based auto-scaling functionality that initiates a mirror server to handle increased server load. This system activates when the server reaches 50% capacity, ensuring that client access remains uninterrupted and efficient at all times.
Enhanced the server's ability to process file search requests by utilizing Linux system calls and commands like stat, find, socket, and accept. This optimization allows for precise file searches based on size, date, and extension, significantly improving the handling of client requests.
Established a command syntax validation process within the client application to verify the correctness of user-entered commands before they are sent to the server. This feature helps prevent errors in command format, ensuring smoother and more reliable communication between the client and server.