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.g2d.SpriteBatch;
|
||||
import netwerkprog.game.client.Client;
|
||||
import netwerkprog.game.server.Server;
|
||||
import netwerkprog.game.util.FrameRate;
|
||||
|
||||
public class MainGame extends ApplicationAdapter {
|
||||
@@ -44,7 +43,7 @@ public class MainGame extends ApplicationAdapter {
|
||||
|
||||
|
||||
private void connectToServer() {
|
||||
client = new Thread(new Client("localhost", Server.PORT));
|
||||
client = new Thread(new Client("localhost"));
|
||||
try {
|
||||
client.start();
|
||||
} catch (Exception e) {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package netwerkprog.game.client;
|
||||
|
||||
import netwerkprog.game.util.Controller;
|
||||
import netwerkprog.game.util.ServerData;
|
||||
|
||||
import java.io.DataInputStream;
|
||||
import java.io.DataOutputStream;
|
||||
@@ -16,8 +17,8 @@ public class Client extends Controller {
|
||||
|
||||
|
||||
|
||||
public Client(String hostname, int port) {
|
||||
this.port = port;
|
||||
public Client(String hostname) {
|
||||
this.port = ServerData.port();
|
||||
this.hostname = hostname;
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,6 @@ public class Server {
|
||||
private SessionController sessionController;
|
||||
private Thread sessionThread;
|
||||
private HashMap<String, Thread> gameThreads;
|
||||
public static final int PORT = 8000;
|
||||
|
||||
public void start() {
|
||||
this.sessionController = new SessionController();
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package netwerkprog.game.server.controllers;
|
||||
|
||||
import netwerkprog.game.server.Server;
|
||||
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.ServerData;
|
||||
|
||||
import java.io.DataInputStream;
|
||||
import java.io.DataOutputStream;
|
||||
@@ -14,6 +16,7 @@ import java.util.HashMap;
|
||||
|
||||
public class SessionController extends Controller {
|
||||
private ServerSocket serverSocket;
|
||||
private DataParser parser;
|
||||
private ArrayList<ServerClient> clients = new ArrayList<>();
|
||||
private HashMap<String, Thread> clientThreads = new HashMap<>();
|
||||
|
||||
@@ -23,29 +26,29 @@ public class SessionController extends Controller {
|
||||
|
||||
public void connect() {
|
||||
try {
|
||||
this.serverSocket = new ServerSocket(Server.PORT);
|
||||
System.out.println("[SERVER] listening on port " + Server.PORT);
|
||||
this.serverSocket = new ServerSocket(ServerData.port());
|
||||
System.out.println("[SERVER] listening on port " + ServerData.port());
|
||||
Socket socket = serverSocket.accept();
|
||||
|
||||
System.out.println("[SERVER] got new client on " + socket.getInetAddress().getHostAddress());
|
||||
DataOutputStream outputStream = new DataOutputStream(socket.getOutputStream());
|
||||
DataInputStream inputStream = new DataInputStream(socket.getInputStream());
|
||||
|
||||
outputStream.writeUTF("Enter nickname: ");
|
||||
String nickname = inputStream.readUTF();
|
||||
outputStream.writeUTF("Enter username: ");
|
||||
String username = inputStream.readUTF();
|
||||
|
||||
System.out.println("[SERVER] got nickname " + nickname);
|
||||
ServerClient serverClient = new ServerClient(nickname, socket, this);
|
||||
System.out.println("[SERVER] got username " + username);
|
||||
ServerClient serverClient = new ServerClient(username, socket, this);
|
||||
|
||||
Thread t = new Thread(serverClient);
|
||||
t.start();
|
||||
|
||||
clientThreads.put(nickname, t);
|
||||
clientThreads.put(username, t);
|
||||
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();
|
||||
@@ -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