108
|
1 package myVncClient;
|
|
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 = 8183;
|
|
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
|
|
22 void createSocket() {
|
|
23 try {
|
|
24 mAddr = InetAddress.getByName(MCASTADDR);
|
|
25 soc = new MulticastSocket();
|
|
26 soc.setTimeToLive(1);
|
|
27 } catch (IOException e) {
|
|
28 e.printStackTrace();
|
|
29 }
|
|
30 }
|
|
31
|
|
32 void sendData() {
|
|
33 buf = str.getBytes();
|
|
34 // System.out.println("strlen"+str.length());
|
|
35 // System.out.println("str"+str);
|
|
36 DatagramPacket sendPacket = new DatagramPacket(buf, str.length(),
|
|
37 mAddr, PORT);
|
|
38 try {
|
|
39 soc.send(sendPacket);
|
|
40 } catch (IOException e) {
|
|
41 e.printStackTrace();
|
|
42 }
|
|
43 }
|
|
44
|
|
45 @Override
|
|
46 public void run() {
|
|
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 }
|
|
57 }
|