Introduction
This repo is an implementation of the assignment 2 for the course COMP90015: Distributed Systems. The details can find in the Assignment 2.
This projects consists of a simple real-time white board which allows multiple users to draw on the same canvas. The whiteboard is implemented using Java and SwingUI. Remote Method Invocation (RMI) is adopted to keep the real-time, efficient, and reliable communication between multiple JVMs.
GUI Design
Language and Tools
How to compile and Run
Compile
- Compile the server and client files using the following command:
cd src
javac WhiteboardClient.java
javac WhiteboardServer.java
-
Run the server with the following command:
(the command should follow the format: java WhiteboardServer
host
port
username
)
java WhiteboardServer localhost 1099 Tom
-
Run the client with the following command:
(the command should follow the format: java WhiteboardClient
host
port
username
)Note: The client should get the same
host
andport
with the server.
java WhiteboardClient localhost 1099 Jerry
Or
We also provide Jar
file, you can run the server and client with the following command:
Note: The client should get the same host
and port
with the server.
For the server:
java -jar CreateWhiteBoard.jar localhost 1099 Tom
For the client:
java -jar JoinWhiteBoard.jar localhost 1099 Jerry
Interaction Diagram
Report
You can check the report in the Report.pdf
License
This project is open-source and free to use under the MIT License.