Skip to content

Distributed Systems project to show RPC concepts between server and clients. Implemented using Java Sockets.

Notifications You must be signed in to change notification settings

steekam/toy-service-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Toy Service Engine

Implementation of Java Sockets to show RPC communication between a server and clients.

Requirements

Linux/Mac:

export PATH_TO_FX=path/to/javafx-sdk-14/lib

Windows:

Ensure you are the administrator of your system and follow the steps listed here, depending on your version of Windows.

set a new System Variable PATH_TO_FX with the value 'path\to\javafx-sdk-14\lib'

Running in the terminal

In the out/artifacts there are executable JAR files and shell scripts for the server and client. Click to run or execute in the terminal.

Here are the commands if you want to run them directly.

Client (Linux/Mac):

java --module-path $PATH_TO_FX --add-modules javafx.controls,javafx.fxml --add-opens javafx.controls/com.sun.javafx.scene.control.behavior=ALL-UNNAMED --add-opens javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED --add-opens javafx.base/com.sun.javafx.binding=ALL-UNNAMED --add-opens javafx.base/com.sun.javafx.event=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED -jar Client.jar

Client (Windows):

java --module-path %PATH_TO_FX% --add-modules javafx.controls,javafx.fxml --add-opens javafx.controls/com.sun.javafx.scene.control.behavior=ALL-UNNAMED --add-opens javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED --add-opens javafx.base/com.sun.javafx.binding=ALL-UNNAMED --add-opens javafx.base/com.sun.javafx.event=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED -jar Client.jar

Server (Linux/Mac):

java --module-path $PATH_TO_FX --add-modules javafx.controls,javafx.fxml --add-opens javafx.controls/com.sun.javafx.scene.control.behavior=ALL-UNNAMED --add-opens javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED --add-opens javafx.base/com.sun.javafx.binding=ALL-UNNAMED --add-opens javafx.base/com.sun.javafx.event=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED -jar Server.jar

Server (Windows):

java --module-path %PATH_TO_FX% --add-modules javafx.controls,javafx.fxml --add-opens javafx.controls/com.sun.javafx.scene.control.behavior=ALL-UNNAMED --add-opens javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED --add-opens javafx.base/com.sun.javafx.binding=ALL-UNNAMED --add-opens javafx.base/com.sun.javafx.event=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED -jar Server.jar

Running through the Intelliji IDE

Go to Run | Edit Configurations for both the ClientApplication.java and ServerApplication.java. Under VM options add the following:

--module-path $PATH_TO_FX --add-modules javafx.controls,javafx.fxml --add-opens javafx.controls/com.sun.javafx.scene.control.behavior=ALL-UNNAMED --add-opens javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED --add-opens javafx.base/com.sun.javafx.binding=ALL-UNNAMED --add-opens javafx.base/com.sun.javafx.event=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED

Note: Replace $PATH_TO_FX with the full path to the javafx-sdk lib folder

Team

Stephen Wanyee

Allan Vikiru

Nicole Muswanya

Daniel Olamide

About

Distributed Systems project to show RPC concepts between server and clients. Implemented using Java Sockets.

Topics

Resources

Stars

Watchers

Forks