187
|
1 package myVncProxy;
|
|
2
|
|
3 import java.io.IOException;
|
|
4 import java.net.DatagramPacket;
|
|
5 import java.net.InetAddress;
|
|
6 import java.net.MulticastSocket;
|
|
7 import java.net.UnknownHostException;
|
|
8
|
|
9 public class BroadCast implements Runnable {
|
|
10 final int BUFSIZE = 1024;
|
|
11 final String MCASTADDR = "224.0.0.1";
|
|
12 final int PORT = 8182;
|
|
13 private byte[] buf = new byte[BUFSIZE];
|
|
14 private InetAddress mAddr;
|
|
15 private MulticastSocket soc;
|
|
16 private String str;
|
|
17
|
|
18 public BroadCast(String _str) {
|
|
19 str = _str;
|
|
20 }
|
|
21
|
188
|
22 void createSocket() throws IOException {
|
187
|
23 mAddr = InetAddress.getByName(MCASTADDR);
|
|
24 soc = new MulticastSocket();
|
|
25 soc.setTimeToLive(1);
|
|
26 }
|
|
27
|
188
|
28 void sendData() {
|
187
|
29 buf = str.getBytes();
|
|
30 //System.out.println("strlen"+str.length());
|
|
31 //System.out.println("str"+str);
|
|
32 DatagramPacket sendPacket = new DatagramPacket(buf, str.length(),
|
|
33 mAddr, PORT);
|
|
34 try {
|
|
35 soc.send(sendPacket);
|
188
|
36 Thread.sleep(1000);
|
187
|
37 } catch (IOException e) {
|
|
38 e.printStackTrace();
|
188
|
39 } catch (InterruptedException e) {
|
|
40 e.printStackTrace();
|
187
|
41 }
|
|
42 }
|
|
43
|
|
44 @Override
|
|
45 public void run() {
|
|
46 try {
|
|
47 createSocket();
|
|
48 while (true) {
|
|
49 sendData();
|
|
50 try {
|
|
51 Thread.sleep(2000);
|
|
52 } catch (InterruptedException e) {
|
|
53 System.out.println(e);
|
|
54 }
|
|
55 }
|
|
56 } catch (UnknownHostException e) {
|
|
57 e.printStackTrace();
|
|
58 } catch (IOException e) {
|
|
59 e.printStackTrace();
|
|
60 }
|
|
61 }
|
|
62 }
|