view src/myVncProxy/BroadCast.java @ 191:b2f0cd0cff6c default tip

Added tag Version-1.0 for changeset 79046b4e5990
author Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
date Tue, 29 Nov 2011 15:52:44 +0900
parents d69a89f6d14a
children
line wrap: on
line source

package myVncProxy;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
import java.net.UnknownHostException;

public class BroadCast implements Runnable {
	final int BUFSIZE = 1024;
	final String MCASTADDR = "224.0.0.1";
	final int PORT = 8182;
	private byte[] buf = new byte[BUFSIZE];
	private InetAddress mAddr;
	private MulticastSocket soc;
	private String str;
	
	public BroadCast(String _str) {
		str = _str;
	}

	void createSocket() throws IOException {
		mAddr = InetAddress.getByName(MCASTADDR);
		soc = new MulticastSocket();
		soc.setTimeToLive(1);
	}

	void sendData() {
		buf = str.getBytes();
		//System.out.println("strlen"+str.length());
		//System.out.println("str"+str);
		DatagramPacket sendPacket = new DatagramPacket(buf, str.length(),
				mAddr, PORT);
		try {
			soc.send(sendPacket);
			Thread.sleep(1000);
		} catch (IOException e) {
			e.printStackTrace();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}

	@Override
	public void run() {
		try {
			createSocket();
			while (true) {
				sendData();
				try {
					Thread.sleep(2000);
				} catch (InterruptedException e) {
					System.out.println(e);
				}
			}
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}