annotate src/myVncClient/BroadCast.java @ 108:e66137b514eb Version-1.0

add BroadCast.java
author Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
date Tue, 22 Nov 2011 14:02:49 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
108
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 package myVncClient;
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 import java.io.IOException;
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 import java.net.DatagramPacket;
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 import java.net.InetAddress;
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 import java.net.MulticastSocket;
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 import java.net.UnknownHostException;
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 public class BroadCast implements Runnable {
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 final int BUFSIZE = 1024;
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 final String MCASTADDR = "224.0.0.1";
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 final int PORT = 8183;
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 private byte[] buf = new byte[BUFSIZE];
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 private InetAddress mAddr;
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 private MulticastSocket soc;
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 private String str;
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 public BroadCast(String _str) {
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 str = _str;
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 }
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 void createSocket() {
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 try {
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 mAddr = InetAddress.getByName(MCASTADDR);
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 soc = new MulticastSocket();
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 soc.setTimeToLive(1);
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 } catch (IOException e) {
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 e.printStackTrace();
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 }
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 }
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 void sendData() {
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 buf = str.getBytes();
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 // System.out.println("strlen"+str.length());
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 // System.out.println("str"+str);
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 DatagramPacket sendPacket = new DatagramPacket(buf, str.length(),
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 mAddr, PORT);
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 try {
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 soc.send(sendPacket);
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 } catch (IOException e) {
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 e.printStackTrace();
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 }
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 }
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 @Override
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 public void run() {
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 createSocket();
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 while (true) {
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 sendData();
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 try {
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 Thread.sleep(2000);
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 } catch (InterruptedException e) {
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 System.out.println(e);
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 }
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 }
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 }
e66137b514eb add BroadCast.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 }