+++ /dev/null
-package org.vamsas.client.picking;\r
-\r
-import java.io.*;\r
-import java.net.*;\r
-import java.util.logging.*;\r
-\r
-/**\r
- * Server class that listens for incoming connections on a predefined port.\r
- */\r
-class PickServer extends Thread\r
-{\r
- private static Logger logger = Logger.getLogger("org.vamsas.client.picking");\r
- \r
- // The port number we'll listen on\r
- static final int PORT = 53782;\r
- \r
- private ServerSocket serverSocket;\r
- // Set to true once the server is established\r
- private boolean isServer = false;\r
- \r
- private PickManager manager;\r
- \r
- /**\r
- * Constructs a new instance of the server (but doesn't start it).\r
- * @param manager a reference to the pick manager that owns this server\r
- */\r
- PickServer(PickManager manager)\r
- {\r
- this.manager = manager;\r
- }\r
- \r
- /**\r
- * Returns true if this server instance is running.\r
- * Return true if this server instance is running\r
- */\r
- boolean isServer()\r
- { return isServer; }\r
- \r
- /**\r
- * Attempts to create the server by opening a server socket on the port.\r
- * @return true if the server was created; false otherwise\r
- */\r
- boolean createServer()\r
- {\r
- try\r
- {\r
- serverSocket = new ServerSocket(PORT);\r
- start(); \r
- \r
- return isServer = true;\r
- }\r
- catch (IOException e)\r
- {\r
- logger.info("SERVER: " + e);\r
- return false;\r
- }\r
- }\r
- \r
- /**\r
- * Thread listening method - loops indefinitely listening for connections.\r
- * When one is received, the socket object is passed to the manager so it\r
- * can make a full client connection for further comms.\r
- */\r
- public void run()\r
- {\r
- logger.fine("SERVER: listening on " + PORT + " - SERVER");\r
- \r
- // Loop forever, accepting connectons from other clients\r
- // TODO: add in the ability to terminate the server if a VAMSAS session\r
- // is ended\r
- while (true)\r
- {\r
- try\r
- {\r
- Socket socket = serverSocket.accept(); \r
- logger.fine("SERVER: connection detected");\r
- \r
- manager.addEndPoint(socket);\r
- }\r
- catch (IOException e) {}\r
- }\r
- }\r
-}
\ No newline at end of file