Add: Partial Implementation Of TCPServer.java.
This commit is contained in:
@@ -9,11 +9,16 @@ import java.util.List;
|
|||||||
|
|
||||||
public class TCPServer {
|
public class TCPServer {
|
||||||
int port = -1;
|
int port = -1;
|
||||||
|
int ConnectedPlayers = 0;
|
||||||
ServerSocket serverTCP = null;
|
ServerSocket serverTCP = null;
|
||||||
GameController gameController;
|
GameController gameController;
|
||||||
|
|
||||||
private List<ClientHandler> clientHandlers;
|
private List<ClientHandler> clientHandlers;
|
||||||
|
|
||||||
|
private int getConnectedPlayers(){
|
||||||
|
return ConnectedPlayers;
|
||||||
|
}
|
||||||
|
|
||||||
public void start(String args[]){
|
public void start(String args[]){
|
||||||
clientHandlers = new ArrayList<>();
|
clientHandlers = new ArrayList<>();
|
||||||
|
|
||||||
@@ -25,19 +30,26 @@ public class TCPServer {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
System.out.println("Listening on port " + port);
|
System.out.println("Listening on port: " + port);
|
||||||
|
|
||||||
while(true){
|
while(true){
|
||||||
Socket clientSocket = null;
|
Socket clientSocket = null;
|
||||||
|
|
||||||
try {
|
try{
|
||||||
clientSocket = serverTCP.accept();
|
clientSocket = serverTCP.accept();
|
||||||
} catch (IOException e) {
|
if(!gameController.addPlayer(clientSocket.getInputStream().toString()) || ConnectedPlayers >= clientHandlers.size()){
|
||||||
|
clientSocket.close();
|
||||||
|
System.out.println("Player already present or username is invalid. Connection terminated.\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (IOException e){
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
System.out.println("Accepted");
|
System.out.println("Accepted");
|
||||||
ClientHandler clientHandler = new ClientHandler(clientSocket, clientHandlers, this.gameController);
|
ConnectedPlayers++;
|
||||||
|
ClientHandler clientHandler = new ClientHandler(clientSocket, clientHandlers, gameController);
|
||||||
clientHandlers.add(clientHandler);
|
clientHandlers.add(clientHandler);
|
||||||
Thread t = new Thread(clientHandler);
|
Thread t = new Thread(clientHandler);
|
||||||
t.start();
|
t.start();
|
||||||
|
|||||||
Reference in New Issue
Block a user