reset a3, kut Charlie ;)
[tt2015.git] / a3 / code / jtorx / server / Main.java
diff --git a/a3/code/jtorx/server/Main.java b/a3/code/jtorx/server/Main.java
new file mode 100644 (file)
index 0000000..ee9bc59
--- /dev/null
@@ -0,0 +1,40 @@
+import java.net.InetAddress;\r
+\r
+// Run the TCPServer on the the port testPort\r
+public class Main {\r
+       private static final int DEFAULT_PORT = 10000;\r
+       private static final String DEFAULT_ADDRESS = "127.0.0.1";\r
+\r
+       /**\r
+        * Run the program with arguments to set a custom port and address, see the comments in the code\r
+        * @param args\r
+        * @throws Exception\r
+        */\r
+       public static void main(String[] args) throws Exception {               \r
+               System.setProperty("java.net.preferIPv4Stack", "true"); // force ipv4\r
+               int port;\r
+               String address;\r
+               if (args.length == 0) {\r
+                       // no arguments: default port and address\r
+                       port = DEFAULT_PORT;\r
+                       address = DEFAULT_ADDRESS;\r
+               } else if (args.length == 1) {\r
+                       // one argument for port, default address\r
+                       port = Integer.valueOf(args[0]);\r
+                       address = DEFAULT_ADDRESS;\r
+               } else if (args.length == 2) {\r
+                       // two arguments for port and address\r
+                       // for example, call it like 'java Main 10000 127.0.0.1'\r
+                       port = Integer.valueOf(args[0]);\r
+                       address = args[1];\r
+               } else {\r
+                       return;\r
+               }\r
+               TCPServer server = new TCPServer(port, InetAddress.getByName(address));\r
+               \r
+               // comment this for the default handler, otherwise the echo server is used\r
+               server.setHandlerType("echo");\r
+               \r
+               server.handleConnections();\r
+       }\r
+}\r