You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Example project for TCP and UDP communication with server and multiple clients using Java
How to run the game:
Start the server - run "main" method in /src/main/java/game/server/Server.java
Start a client - run "main" method in /src/main/java/game/client/Client.java
You can run multiple clients
File descriptions:
src/main/java/example
_TCP.java - Example of using TCP sockets
_UDP.java - Example of using UDP sockets
src/main/java/game/client
Client.java - Main client class that is used to open a client connection to the server, start the client engine and open a window where the game is rendered
Controller.java - Keyboard and Mouse events controller from client side
DynamicPanel.java - Panel that renders "Dynamic" objects every frame
Engine.java - Main client engine that renders, updates and removes objects on client side
ResponseToServer.java - Describes what the client should do when it communicates with the server
StaticPanel.java - Panel that renders "Static" objects when they are requested
src/main/java/game/data
GameObject_Example.java - Example implementation of customized GameObject "update" method
GameObject.java - Class that stores main information about a game object and renders it to client
MouseEventData.java - Data that gets taken from a Mouse event
Payload.java - Describes the payload that gets send to the server and its Method types
Textures.java - Class used for reading a texture from an image file path
Vector.java - Class used to conveniently store data of X and Y position
src/main/java/game/protocol
TCP.java - Describes how TCP protocol works with Client and ConnectionListener classes
UDP.java - Describes how UDP protocol works with Sender, Receiver and Identifier classes
src/main/java/game/server
ClientAttachment.java - Data that is attached to a message
Engine.java - Main server engine that creates, updates, removes and synchronizes objects on server side
ResponseToClient.java - Describes what the server should do when it communicates with the client
ResponseToInput.java - Describes what the server should do when it receives Mouse or Keyboard events from a client
Server.java - Main server class that is used to start the server