Picking code updated with full basic implementation of message sending and server...
[vamsas.git] / src / org / vamsas / client / picking / PickServer.java
1 package org.vamsas.client.picking;\r
2 \r
3 import java.io.*;\r
4 import java.net.*;\r
5 \r
6 class PickServer extends Thread\r
7 {\r
8         static final int PORT = 53782;\r
9         \r
10         private ServerSocket serverSocket;\r
11         private boolean isServer = false;\r
12         \r
13         private PickManager manager;\r
14         \r
15         PickServer(PickManager manager)\r
16         {\r
17                 this.manager = manager;\r
18         }\r
19         \r
20         boolean isServer()\r
21                 { return isServer; }\r
22         \r
23         boolean createServer()\r
24         {\r
25                 try\r
26                 {\r
27                         serverSocket = new ServerSocket(PORT);\r
28                         start();                        \r
29                         \r
30                         return isServer = true;\r
31                 }\r
32                 catch (IOException e)\r
33                 {\r
34                         // If we fail, just assume another app already has the port\r
35                         System.out.println("SERVER: " + e);\r
36                         return false;\r
37                 }\r
38         }\r
39         \r
40         public void run()\r
41         {\r
42                 System.out.println("SERVER: listening on " + PORT + " - SERVER");\r
43                 \r
44                 // Loop forever, accepting connectons from other clients\r
45                 while (true)\r
46                 {\r
47                         try\r
48                         {\r
49                                 Socket socket = serverSocket.accept();                          \r
50                                 System.out.println("SERVER: connection detected");\r
51                                 \r
52                                 manager.addClientConnection(socket);\r
53                         }\r
54                         catch (IOException e) {}\r
55                 }\r
56         }\r
57 }