]> git.somenet.org - pub/jan/dslab.git/blob - ue1/src/Server/TCP.java
GITOLITE.txt
[pub/jan/dslab.git] / ue1 / src / Server / TCP.java
1 package Server;\r
2 \r
3 import java.io.*;\r
4 import java.util.*;\r
5 import java.net.*;\r
6 /*\r
7 * >--TCP--<\r
8 * Author: Someone\r
9 */\r
10 public class TCP implements Runnable{\r
11   private ServerSocket $ss      = null;\r
12   protected List<TCPW> $conn = null;\r
13 \r
14 \r
15 public TCP(int $port)throws Exception{\r
16   $conn = Collections.synchronizedList(new ArrayList());\r
17   $ss = new ServerSocket($port);\r
18   new Thread(this).start();\r
19 }\r
20 \r
21 public void run(){\r
22   try{\r
23     while($ss != null){\r
24       new TCPW($ss.accept(),this);\r
25     }\r
26   }catch(Exception $e){$e.printStackTrace();}\r
27 }\r
28 \r
29 public void sendAll(String $msg){\r
30   for(int $i = 0; $i < $conn.size(); $i++){\r
31     if($conn.get($i).isLoggedIn())$conn.get($i).send($msg);\r
32   }\r
33 }\r
34 \r
35 public TCPW getConnByName(String $name){\r
36   for(int $i = 0; $i < $conn.size() ; $i++){\r
37     TCPW $tmp = $conn.get($i);\r
38     if($name.equalsIgnoreCase($tmp.getName()))return $tmp;\r
39   }\r
40   return null;\r
41 }\r
42 \r
43 public void delConn(TCPW $delme){\r
44   for(int $i = 0; $i < $conn.size() ; $i++){\r
45     if($conn.get($i) == $delme){$conn.remove($i);return;}\r
46   }\r
47 }\r
48 \r
49 public void shutdown(){\r
50   try{\r
51     $ss.close();\r
52   }catch(Exception $e){$e.printStackTrace();}\r
53   for(int $i = 0; $i < $conn.size() ; $i++){\r
54     $conn.get($i).shutdown();\r
55   }\r
56 }\r
57 \r
58 }