Commit | Line | Data |
---|---|---|
c4aaaeca | 1 | import java.io.*; |
da31e6da JB |
2 | import java.util.Calendar; |
3 | import java.util.Random; | |
c4aaaeca JB |
4 | |
5 | public class ThreadClientoSend implements Runnable { | |
6 | private SocketClient client; | |
92d3f605 | 7 | //FIXME: use a random name by thread for now, should be setable |
da31e6da | 8 | private String randName; |
c4aaaeca JB |
9 | |
10 | ThreadClientoSend(SocketClient c) { | |
11 | client = c; | |
da31e6da JB |
12 | randName = randomName(); |
13 | } | |
14 | ||
15 | private String randomName() { | |
16 | ||
17 | int leftLimit = 97; // letter 'a' | |
18 | int rightLimit = 122; // letter 'z' | |
19 | int targetStringLength = 8; | |
20 | Random random = new Random(); | |
21 | StringBuilder buffer = new StringBuilder(targetStringLength); | |
22 | for (int i = 0; i < targetStringLength; i++) { | |
23 | int randomLimitedInt = leftLimit + (int)(random.nextFloat() * (rightLimit - leftLimit + 1)); | |
24 | buffer.append((char)randomLimitedInt); | |
25 | } | |
26 | String generatedString = buffer.toString(); | |
27 | ||
28 | return generatedString; | |
c4aaaeca JB |
29 | } |
30 | ||
31 | public void run() { | |
32 | BufferedReader userInput = null; | |
33 | try { | |
34 | userInput = new BufferedReader(new InputStreamReader(System.in)); | |
35 | boolean end = false; | |
6b300998 JB |
36 | while (!end) { |
37 | String line = userInput.readLine(); | |
38 | if (line.equals(".")) { | |
c4aaaeca JB |
39 | end = true; |
40 | } | |
da31e6da | 41 | Message oMsg = new Message(randName, line, Calendar.getInstance()); |
c4aaaeca JB |
42 | client.sendoMsg(oMsg); |
43 | System.out.println(Thread.currentThread().getName() + " a envoye " + oMsg); | |
44 | } | |
45 | } | |
46 | catch (IOException e) { | |
47 | System.err.println("IOException: " + e); | |
48 | e.printStackTrace(); | |
49 | } | |
50 | finally { | |
51 | if (userInput != null) { | |
6b300998 JB |
52 | try { |
53 | userInput.close(); | |
54 | } | |
55 | catch (IOException e) { | |
56 | System.err.println("IOException: " + e); | |
8c3c3f61 | 57 | e.printStackTrace(); |
6b300998 JB |
58 | } |
59 | } | |
c4aaaeca JB |
60 | } |
61 | } | |
62 | } |