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 @@ 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 {
|
||||
}
|
||||
Reference in New Issue
Block a user