]> git.somenet.org - pub/jan/dslab.git/blob - ue1/src/Server/UDPW.java
GITOLITE.txt
[pub/jan/dslab.git] / ue1 / src / Server / UDPW.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 /*\r
8 * >--UDPW--<\r
9 * Author: Someone\r
10 */\r
11 public class UDPW implements Runnable{\r
12   private DatagramPacket $pack = null;\r
13   private DatagramSocket $sock = null;\r
14 \r
15 public UDPW(DatagramPacket $p, DatagramSocket $s)throws Exception{\r
16   $pack = $p;\r
17   $sock = $s;\r
18   new Thread(this).start();\r
19 }\r
20 \r
21 \r
22 public void run(){\r
23   try{\r
24     String[] $data = new String($pack.getData()).trim().split("\\s+"); //regex: whitespace character once and more\r
25 \r
26     if($data[0].equalsIgnoreCase("!list")){\r
27       String $response = "";\r
28       for(int $i = 0; $i < Main.$tcp.$conn.size() ; $i++){\r
29         TCPW $tmp = Main.$tcp.$conn.get($i);\r
30         if($tmp.isLoggedIn())$response = $response+$tmp.getName()+"\r\n";\r
31       }\r
32       send($response);\r
33     }\r
34     if($data[0].equalsIgnoreCase("!info")){\r
35       String[] $usrdata = Main.$usr.get($data[1]);\r
36       if($usrdata == null){\r
37         send("No such user!");\r
38         return;\r
39       }\r
40       send($usrdata[0]+" "+$usrdata[2]);\r
41     }\r
42   }catch(Exception $e){$e.printStackTrace();}\r
43 }\r
44 \r
45 public void send(String $msg){\r
46   try{\r
47     DatagramPacket $packet = new DatagramPacket($msg.getBytes(),$msg.length(),$pack.getAddress(),$pack.getPort());\r
48     $sock.send($packet);\r
49   }catch(Exception $e){$e.printStackTrace();}\r
50 }\r
51 \r
52 \r
53 \r
54 }