Hey you guys, I need help with my uni assignment. I need to write a multi-threaded socket-based Java program with graphical user interface. A client should be able to download files from server and then process those files. For more details contact me ;)
Here's my assignment:
Server handles client connections. Basic functionality of the server is to send required files to a client. When server starts, using GUI, user has to be able to specify folder where files are stored and server port number. Server needs to be able to handle multiple connections at a time.
Requirements for server graphical interface.
The following information has to be shown in server GUI:
• Server port number
• Date and time when server started working
• Connected clients address, port number and connection date and time. If a file is being sent, file name has to be displayed next to client information.
• Path to a directory, from which files are being sent
Server GUI should be able to:
• specify a directory from which the server will send files to clients
• terminate server
• change date format using [url removed, login to view]
Client program requirements
Basic functionality of the client program:
• Client connects to the specified server. Using GUI client must be able to specify the server name and port number.
• When connected, client requests from server files that are available. Names of the files that are being processed need to be displayed.
• When file is received, client displays informative statement about results (file size and sending time).
• When specified file is received, it has to be processed. After file processing the following information has to be displayed:
1. Number of processed students
2. All student min, max and average grade
3. Table with information about each student (student ID number, min , average and max grade).
4. When clicking of table column header, column values have to be sorted.
• File line can contain incorrect data (non numeric values, negative values or too large numbers)
• The communication between the server and the client may be lost
Each line of the file starts with student ID and then follows student test results (min 0, max 100). All values are separated with semicolon. Number of test results for each student can vary.