Skip to content

malteerasmussen/P3_G6_Miniproject_Server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Megahay - Server

Have you ever dreamt about being a rock star? Now's your chance! Join the infamous rock band Megahay on their World Tour. Choose your favourite instrument and jam with all your friends in front of a live audience.

Releases

Release version 1.0

Dependencies

Java 11

The project is built in Java 11

An OpenSoundControl (OSC) communication library for Java. Documentation for it can be found here. The JAR-file is in the intellij project

Communication

This repository is the server side of the application. The client side can be found here. Running the server is needed in order for multiple clients to play together. The server runs the NetUtil() . We use a UDP server, which runs on port 8000. We create an OSCServer for which we add an OSCListener. The OSCListener is used for receiving messages from clients and distributing them to other clients.

The server connect all client through a given IP-address. The IP-address needed for the clients to connect, is the local IP-address of the device hosting the server.

Messages for Sound and GUI are just distributed to all other clients. Furthermore, there are two more messages from the client that the server handles:

  • Establish communication ("/hello")
  • Receiving status ("status")

Establish communication initiates communication and server saves clients address in a list of active clients. The server then sends a response and notifies if other clients are already active and playing.

When receiving status from a client, a timer for that client is reset. If no status message has been received in 4 seconds the client is declared as inactive and is removed.

How to set up

(Using Maven)

  • On mac: in terminal - go to the client folder and run command: "./mvnw package"
  • On windows: in command prompt - go to the client folder and run command: "./mvnw.cmd package"
  • To run the server: in terminal/command prompt - go to client folder and run command: "java -jar target/server-0.0.1-SNAPSHOT-jar-with-dependencies.jar"

(Using IntelliJ)

  • Go to project structure, in "Project". Set Project SDK to Java 11 (11.0.3).
  • In "Project" set project language level to SDK Default.
  • Copy the project path and set it in Project compiler output field and add "\out" at the end.
  • In Project structure, in "Modules" under dependencies, press the add button (+). Choose 1 JARs or directories and choose the jar file name "netutil-1.1.0.jar"
  • In "Modules", under Sources, choose the src folder and mark as Sources.
  • Press OK.

Authors

  • Casper Skaarup Ovesen
  • Kristinn Bragi Garðarsson
  • Malte Elkær Rasmussen
  • Mikkel Kappel Persson
  • Niels Erik Raursø
  • Tor Arnth Petersen

See also the list of contributors who participated in this project.

Acknowledgments

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Java 100.0%