diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/Client/TCP/TCPClient.java b/src/main/java/it/polimi/ingsw/gc14/Network/Client/TCP/TCPClient.java index 80f5cc9..78aea6f 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/Client/TCP/TCPClient.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/Client/TCP/TCPClient.java @@ -5,7 +5,7 @@ import it.polimi.ingsw.gc14.View.IView; import java.io.*; import java.net.*; -public class TCPClient { +public class TCPClient implements Serializable { public TCPClient(IView view) { IView iView = view; } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/Server/TCP/ClientHandler.java b/src/main/java/it/polimi/ingsw/gc14/Network/Server/TCP/ClientHandler.java index d3c3000..9977552 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/Server/TCP/ClientHandler.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/Server/TCP/ClientHandler.java @@ -1,5 +1,7 @@ package it.polimi.ingsw.gc14.Network.Server.TCP; +import it.polimi.ingsw.gc14.Controller.GameController; + import java.io.*; import java.net.*; import java.util.List; @@ -8,17 +10,18 @@ public class ClientHandler implements Runnable { private Socket clientSocket; BufferedReader in = null; PrintWriter out = null; - List clientHandlers ; - public ClientHandler(Socket clientSocket, List clientHandlers) { + List clientHandlers; + GameController gameController; + public ClientHandler(Socket clientSocket, List clientHandlers, GameController gameController) { this.clientSocket = clientSocket; this.clientHandlers = clientHandlers; + this.gameController = gameController; } @Override public void run() { clientLoop(); } private void clientLoop() { - try { in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); synchronized (out) { @@ -28,12 +31,13 @@ public class ClientHandler implements Runnable { e.printStackTrace(); } String s = ""; - try { + try{ while ((s = in.readLine()) != null) { System.out.println(s); out.println(s.toUpperCase()); } - } catch (IOException e) { + } + catch (IOException e) { e.printStackTrace(); } } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/Server/TCP/TCPServer.java b/src/main/java/it/polimi/ingsw/gc14/Network/Server/TCP/TCPServer.java index c344944..4403d84 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/Server/TCP/TCPServer.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/Server/TCP/TCPServer.java @@ -1,35 +1,51 @@ package it.polimi.ingsw.gc14.Network.Server.TCP; +import it.polimi.ingsw.gc14.Controller.GameController; + import java.io.IOException; import java.net.*; import java.util.ArrayList; import java.util.List; public class TCPServer { - private List clientHandlers ; - public void start(String args[]) { + int port = -1; + ServerSocket serverTCP = null; + GameController gameController; + + private List clientHandlers; + + public void start(String args[]){ clientHandlers = new ArrayList<>(); - ServerSocket serverTCP=null ; + try{ - serverTCP=new ServerSocket(5200); - }catch (IOException e){ - System.out.println("Could not listen on port: 5200"); - e.printStackTrace(); - return ; + serverTCP = new ServerSocket(port); } - System.out.println("Listening on port 5200" ); - while (true) { + catch (IOException e){ + System.out.println("Could not listen on port: " + port); + e.printStackTrace(); + return; + } + System.out.println("Listening on port " + port); + + while(true){ Socket clientSocket = null; + try { clientSocket = serverTCP.accept(); } catch (IOException e) { e.printStackTrace(); } + System.out.println("Accepted"); - ClientHandler clientHandler = new ClientHandler(clientSocket,clientHandlers); + ClientHandler clientHandler = new ClientHandler(clientSocket, clientHandlers, this.gameController); clientHandlers.add(clientHandler); Thread t = new Thread(clientHandler); t.start(); } } + + private TCPServer(GameController gameController, int port) { + this.port = port; + this.gameController = gameController; + } }