diff --git a/src/main/java/fi/utu/tech/telephonegame/ClientManager.java b/src/main/java/fi/utu/tech/telephonegame/ClientManager.java new file mode 100644 index 0000000000000000000000000000000000000000..bbc9ee05b69f420e950991934aaedeafe4af3eb1 --- /dev/null +++ b/src/main/java/fi/utu/tech/telephonegame/ClientManager.java @@ -0,0 +1,5 @@ +package fi.utu.tech.telephonegame; + +public class ClientManager { + +} diff --git a/src/main/java/fi/utu/tech/telephonegame/ServerManager.java b/src/main/java/fi/utu/tech/telephonegame/ServerManager.java new file mode 100644 index 0000000000000000000000000000000000000000..ba964529785323eeb593d8821f9fa901d2aa2b1d --- /dev/null +++ b/src/main/java/fi/utu/tech/telephonegame/ServerManager.java @@ -0,0 +1,42 @@ +package fi.utu.tech.telephonegame; +import java.net.*; +import java.io.*; + +public class ServerManager { + + private int port; + private Socket socket = null; + private ObjectInputStream inputStream = null; + private ObjectOutputStream outputStream = null; + + + public ServerManager(int port){ + this.port = port; + } + + public static void init(int port) throws Exception { + try (ServerSocket ss = new ServerSocket(port)) { + while (true) { + Socket cs = ss.accept(); + System.out.println( + "Connection from " + cs.getInetAddress() + " port " + cs.getPort()); + new MyHandler(cs).start(); + } + } + } + + static class MyHandler extends Thread { + private Socket client; + + public MyHandler(Socket s) { + client = s; + } + + @Override + public void run() { + //TODO + } + + } + +} diff --git a/src/main/java/fi/utu/tech/telephonegame/network/NetworkService.java b/src/main/java/fi/utu/tech/telephonegame/network/NetworkService.java index 500f03432baedc105c15c6989bcddb5b220b7d9f..bf8e687d4bb0c21526a71a0199aac9c67cbb32c7 100644 --- a/src/main/java/fi/utu/tech/telephonegame/network/NetworkService.java +++ b/src/main/java/fi/utu/tech/telephonegame/network/NetworkService.java @@ -2,10 +2,7 @@ package fi.utu.tech.telephonegame.network; import java.net.NetworkInterface; -import java.net.ServerSocket; -import java.net.Socket; import java.net.SocketException; -import java.net.SocketTimeoutException; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.Enumeration; @@ -13,13 +10,11 @@ import java.util.UUID; import java.util.concurrent.LinkedTransferQueue; import java.util.concurrent.TimeUnit; import java.util.concurrent.TransferQueue; + +import fi.utu.tech.telephonegame.ServerManager; import fi.utu.tech.telephonegame.util.ConcurrentExpiringHashSet; -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; + import java.net.Inet6Address; import java.net.InetAddress; @@ -31,7 +26,6 @@ public class NetworkService extends Thread implements Network { private TransferQueue<Object> outQueue = new LinkedTransferQueue<Object>(); private TransferQueue<Object> inQueue = new LinkedTransferQueue<Object>(); private Resolver resolver; - private ServerSocket serverSocket; /* @@ -48,29 +42,13 @@ public class NetworkService extends Thread implements Network { */ public void initialize(int serverport) { - while(true) { - try { - serverSocket = new ServerSocket(serverport); - serverSocket.setSoTimeout(20000); - System.out.println("Server in port " + serverport + " established."); - System.out.println("Waiting for client on port " + serverSocket.getLocalPort() + "..."); - Socket server = serverSocket.accept(); - System.out.println("Just connected to " + server.getRemoteSocketAddress()); - DataInputStream in = new DataInputStream(server.getInputStream()); - System.out.println(in.readUTF()); - DataOutputStream out = new DataOutputStream(server.getOutputStream()); - out.writeUTF("Thank you for connecting to " + server.getLocalSocketAddress() - + "\nGoodbye!"); - server.close(); - - } catch (SocketTimeoutException s) { - System.out.println("Socket timed out!"); - break; - - } catch (IOException e) { - e.printStackTrace(); - } - } + ServerManager manager = new ServerManager(serverport); + try { + manager.init(serverport); + } catch (Exception e) { + + e.printStackTrace(); + } } @@ -80,24 +58,7 @@ public class NetworkService extends Thread implements Network { */ public void connect(String clientIP, int clientPort) { - try { - System.out.println("Connecting to " + clientIP + " on port " + clientPort); - Socket client = new Socket(clientIP, clientPort); - System.out.println("Just connected to " + client.getRemoteSocketAddress()); - OutputStream outToServer = client.getOutputStream(); - DataOutputStream out = new DataOutputStream(outToServer); - - out.writeUTF("Hello from " + client.getLocalSocketAddress()); - InputStream inFromServer = client.getInputStream(); - DataInputStream in = new DataInputStream(inFromServer); - - System.out.println("Server says " + in.readUTF()); - client.close(); - } - - catch(IOException e) { - e.printStackTrace(); - } + //TODO } /*