diff --git a/src/server/BaseGame.java b/src/server/BaseGame.java index cb45de0..f9eed44 100644 --- a/src/server/BaseGame.java +++ b/src/server/BaseGame.java @@ -56,13 +56,15 @@ List trash; BasePlayer[] players; int currentPlayer; - - Socket socket; + + boolean keepRunning; + int port; List history; public BaseGame(){ + keepRunning = true; //init(); } @@ -97,7 +99,7 @@ return history.subList(0, index); } - protected abstract void receive(); + protected abstract void receive(Socket socket); class SocketListenerThread implements Runnable { Socket socket; @@ -108,17 +110,8 @@ @Override public void run() { - InputStream inStream = null; - int availableBytes = 0; - try { - inStream = socket.getInputStream(); - availableBytes = inStream.available(); - if(availableBytes > 0){ - receive(); - } - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + while(keepRunning){ + receive(socket); } } } diff --git a/src/server/ClientGame.java b/src/server/ClientGame.java index 4fd1907..fd3b952 100644 --- a/src/server/ClientGame.java +++ b/src/server/ClientGame.java @@ -25,7 +25,8 @@ JSONObject root; int difficulty; int fontSize; - + + Socket socket; String hostName; boolean isConnected; boolean initGameReceived; @@ -172,7 +173,8 @@ } @Override - protected void receive() { + protected void receive(Socket socket) { + System.out.println("Received data!"); DataInputStream inStream = null; byte[] magic = new byte[4]; byte proto = 0; @@ -189,6 +191,8 @@ e.printStackTrace(); } + System.out.println("Received magic: " + magic.toString()); + // TODO check Protocol // switch(proto){ // case VIBE_DUMB: diff --git a/src/server/ServerGame.java b/src/server/ServerGame.java index 2ca285a..9c8d9a1 100644 --- a/src/server/ServerGame.java +++ b/src/server/ServerGame.java @@ -48,16 +48,17 @@ try { server = new ServerSocket(port); while(nrOfPlayers < 2){ //TODO - socket = server.accept(); + Socket socket = server.accept(); sockets.add(socket); JSONObject connectionJson = new JSONObject(); connectionJson.put("id", nrOfPlayers); - sendToClient(CONNECTION_VALID, connectionJson.toString(), sockets.get(sockets.size()-1)); + sendToClient(CONNECTION_VALID, connectionJson.toString(), socket); nrOfPlayers++; System.out.println(nrOfPlayers + " players connected!"); // TODO do this somewhere else System.out.println("Creating new Socket Listener for #" + (sockets.size()-1)); - new Thread(new SocketListenerThread(sockets.get(sockets.size()-1))).start(); + System.out.println("Socket id: " + socket); + new Thread(new SocketListenerThread(socket)).start(); } } catch (IOException e) { // TODO Auto-generated catch block @@ -150,16 +151,16 @@ // resetMoveValues(); // } - protected void receive() { + protected void receive(Socket socket) { DataInputStream inStream = null; byte[] magic = new byte[4]; - PROTOCOL proto = null; + byte proto = 0; byte msgType = 0; byte[] useless = new byte[2]; try { inStream = new DataInputStream(socket.getInputStream()); inStream.read(magic); - //proto = inStream.readByte(); + proto = inStream.readByte(); msgType = inStream.readByte(); inStream.read(useless); } catch (IOException e) { @@ -168,10 +169,10 @@ } // TODO check Protocol - switch(proto){ - case VIBE_DUMB: - break; - } +// switch(proto){ +// case VIBE_DUMB: +// break; +// } String msg = null; JSONObject jo = null;