Distributed Systems and Security Assessment | Thursday 10am Group C
- Open the project in IntelliJ IDEA.
- Start the 'startServer' file.
- Start the 'startClient' file (as many times as required).
If IntelliJ doesn't allow you to run multiple clients:
- Right click on startClient and press run.
- Run > Edit Configurations > Application > startClient.
- Modify Options > Allow multiple instances > Apply > Okay.
- This is the client class which sends messages to ChatServer and receives a response.
- Based on Practical Exercises 3 and 4, but expanded upon for assignment purposes.
- Run this to start the client application, but remember to start the server first.
- The ChatLanguage class verifies if the first word of a user message is in the list of valid commands, then executes the corresponding function.
- This is the server class which receives messages from ChatClient and sends messages back through a socket connection.
- Everytime a new client joins, a UserController thread is started.
- Based on Practical Exercise 4, but expanded upon for assignment purposes.
- This stores all users that are currently in the chat, and broadcasts messages between them.
- Also handles subscription and group functions.
- Is based on the class of same name from practical 4, but developed further.
- Run this to start the server application.
- This class controls the individual users of the chat server and their messages.
- Is based on the class ChatServerHandler from practical 4, but developed further.
- This defines message objects.
- Is based on the class of the same name from Practical 4.
