Added skeleton for Server Connection structure changes.
Added Data and Event classes for Data saving on the server. Added DataParser class for translating requests to data. Added ServerData package
This commit is contained in:
@@ -8,7 +8,6 @@ import com.badlogic.gdx.graphics.GL20;
|
|||||||
import com.badlogic.gdx.graphics.Texture;
|
import com.badlogic.gdx.graphics.Texture;
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
||||||
import netwerkprog.game.client.Client;
|
import netwerkprog.game.client.Client;
|
||||||
import netwerkprog.game.server.Server;
|
|
||||||
import netwerkprog.game.util.FrameRate;
|
import netwerkprog.game.util.FrameRate;
|
||||||
|
|
||||||
public class MainGame extends ApplicationAdapter {
|
public class MainGame extends ApplicationAdapter {
|
||||||
@@ -44,7 +43,7 @@ public class MainGame extends ApplicationAdapter {
|
|||||||
|
|
||||||
|
|
||||||
private void connectToServer() {
|
private void connectToServer() {
|
||||||
client = new Thread(new Client("localhost", Server.PORT));
|
client = new Thread(new Client("localhost"));
|
||||||
try {
|
try {
|
||||||
client.start();
|
client.start();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package netwerkprog.game.client;
|
package netwerkprog.game.client;
|
||||||
|
|
||||||
import netwerkprog.game.util.Controller;
|
import netwerkprog.game.util.Controller;
|
||||||
|
import netwerkprog.game.util.ServerData;
|
||||||
|
|
||||||
import java.io.DataInputStream;
|
import java.io.DataInputStream;
|
||||||
import java.io.DataOutputStream;
|
import java.io.DataOutputStream;
|
||||||
@@ -16,8 +17,8 @@ public class Client extends Controller {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
public Client(String hostname, int port) {
|
public Client(String hostname) {
|
||||||
this.port = port;
|
this.port = ServerData.port();
|
||||||
this.hostname = hostname;
|
this.hostname = hostname;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ public class Server {
|
|||||||
private SessionController sessionController;
|
private SessionController sessionController;
|
||||||
private Thread sessionThread;
|
private Thread sessionThread;
|
||||||
private HashMap<String, Thread> gameThreads;
|
private HashMap<String, Thread> gameThreads;
|
||||||
public static final int PORT = 8000;
|
|
||||||
|
|
||||||
public void start() {
|
public void start() {
|
||||||
this.sessionController = new SessionController();
|
this.sessionController = new SessionController();
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
package netwerkprog.game.server.controllers;
|
package netwerkprog.game.server.controllers;
|
||||||
|
|
||||||
import netwerkprog.game.server.Server;
|
|
||||||
import netwerkprog.game.server.ServerClient;
|
import netwerkprog.game.server.ServerClient;
|
||||||
|
import netwerkprog.game.server.data.Data;
|
||||||
|
import netwerkprog.game.server.data.DataParser;
|
||||||
import netwerkprog.game.util.Controller;
|
import netwerkprog.game.util.Controller;
|
||||||
|
import netwerkprog.game.util.ServerData;
|
||||||
|
|
||||||
import java.io.DataInputStream;
|
import java.io.DataInputStream;
|
||||||
import java.io.DataOutputStream;
|
import java.io.DataOutputStream;
|
||||||
@@ -14,6 +16,7 @@ import java.util.HashMap;
|
|||||||
|
|
||||||
public class SessionController extends Controller {
|
public class SessionController extends Controller {
|
||||||
private ServerSocket serverSocket;
|
private ServerSocket serverSocket;
|
||||||
|
private DataParser parser;
|
||||||
private ArrayList<ServerClient> clients = new ArrayList<>();
|
private ArrayList<ServerClient> clients = new ArrayList<>();
|
||||||
private HashMap<String, Thread> clientThreads = new HashMap<>();
|
private HashMap<String, Thread> clientThreads = new HashMap<>();
|
||||||
|
|
||||||
@@ -23,29 +26,29 @@ public class SessionController extends Controller {
|
|||||||
|
|
||||||
public void connect() {
|
public void connect() {
|
||||||
try {
|
try {
|
||||||
this.serverSocket = new ServerSocket(Server.PORT);
|
this.serverSocket = new ServerSocket(ServerData.port());
|
||||||
System.out.println("[SERVER] listening on port " + Server.PORT);
|
System.out.println("[SERVER] listening on port " + ServerData.port());
|
||||||
Socket socket = serverSocket.accept();
|
Socket socket = serverSocket.accept();
|
||||||
|
|
||||||
System.out.println("[SERVER] got new client on " + socket.getInetAddress().getHostAddress());
|
System.out.println("[SERVER] got new client on " + socket.getInetAddress().getHostAddress());
|
||||||
DataOutputStream outputStream = new DataOutputStream(socket.getOutputStream());
|
DataOutputStream outputStream = new DataOutputStream(socket.getOutputStream());
|
||||||
DataInputStream inputStream = new DataInputStream(socket.getInputStream());
|
DataInputStream inputStream = new DataInputStream(socket.getInputStream());
|
||||||
|
|
||||||
outputStream.writeUTF("Enter nickname: ");
|
outputStream.writeUTF("Enter username: ");
|
||||||
String nickname = inputStream.readUTF();
|
String username = inputStream.readUTF();
|
||||||
|
|
||||||
System.out.println("[SERVER] got nickname " + nickname);
|
System.out.println("[SERVER] got username " + username);
|
||||||
ServerClient serverClient = new ServerClient(nickname, socket, this);
|
ServerClient serverClient = new ServerClient(username, socket, this);
|
||||||
|
|
||||||
Thread t = new Thread(serverClient);
|
Thread t = new Thread(serverClient);
|
||||||
t.start();
|
t.start();
|
||||||
|
|
||||||
clientThreads.put(nickname, t);
|
clientThreads.put(username, t);
|
||||||
this.clients.add(serverClient);
|
this.clients.add(serverClient);
|
||||||
|
|
||||||
sendMessage(nickname, "--- Welcome! ---\nPeople online : " + clients.size());
|
sendMessage(username, "--- Welcome! ---\nPeople online : " + clients.size());
|
||||||
|
|
||||||
clients.forEach(yeet -> sendToEveryoneExcept(nickname, nickname + " joined the server! [" + socket.getInetAddress().getHostAddress() + "]"));
|
clients.forEach(yeet -> sendToEveryoneExcept(username, username + " joined the server! [" + socket.getInetAddress().getHostAddress() + "]"));
|
||||||
|
|
||||||
|
|
||||||
this.serverSocket.close();
|
this.serverSocket.close();
|
||||||
@@ -101,4 +104,17 @@ public class SessionController extends Controller {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void listen() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//will most likely be removed.
|
||||||
|
public void parseData(String request) {
|
||||||
|
Data data = this.parser.parse(request);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void sendData(Data data) {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
4
core/src/netwerkprog/game/server/data/Data.java
Normal file
4
core/src/netwerkprog/game/server/data/Data.java
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
package netwerkprog.game.server.data;
|
||||||
|
|
||||||
|
public class Data {
|
||||||
|
}
|
||||||
10
core/src/netwerkprog/game/server/data/DataParser.java
Normal file
10
core/src/netwerkprog/game/server/data/DataParser.java
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
package netwerkprog.game.server.data;
|
||||||
|
|
||||||
|
public class DataParser {
|
||||||
|
public DataParser() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public Data parse(String request) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
4
core/src/netwerkprog/game/server/data/Event.java
Normal file
4
core/src/netwerkprog/game/server/data/Event.java
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
package netwerkprog.game.server.data;
|
||||||
|
|
||||||
|
public class Event {
|
||||||
|
}
|
||||||
8
core/src/netwerkprog/game/util/ServerData.java
Normal file
8
core/src/netwerkprog/game/util/ServerData.java
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
package netwerkprog.game.util;
|
||||||
|
|
||||||
|
public class ServerData {
|
||||||
|
|
||||||
|
public static int port() {
|
||||||
|
return 8000;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user