import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;


public class Main {

	final static int taille = 1024; 
	final static byte buffer[] = new byte[taille];

	public static void main(String[] argv) throws Exception{
		  try {

		      // 0a => faible intensité
		      // ff => grosse intensité
		      //c90a0000ff  => bleu
		      //c900000aff  => rouge
		      //c9000a00ff  => vert
              //??BBRRGG??
		      
		      //d1ff => eteindre
		      //ceff => allumer
			  
		      String host = "192.168.1.19";
		      int port = 1112;
		      String ordre="rouge";
		      if(argv.length==1){
		    	  ordre=argv[0];
		      }
		      if(ordre.equals("rouge")){
		    	  ordre="c9090000ff";
		      }else if(ordre.equals("bleu")){
		    	  ordre="c9000009ff";
		      }else if(ordre.equals("vert")){
		    	  ordre="c9000900ff";
		      }else if(ordre.equals("eteindre")){
		    	  ordre="d1ff";
		      }else if(ordre.equals("allumer")){
		    	  ordre="ceff";
		      }
		      
		      byte[] message =hexStringToByteArray(ordre);

		      // Get the internet address of the specified host
		      InetAddress address = InetAddress.getByName(host);

		      // Initialize a datagram packet with data and address
		      DatagramPacket packet = new DatagramPacket(message, message.length,address, port);

		      // Create a datagram socket, send the packet through it, close it.
		      DatagramSocket dsocket = new DatagramSocket();
		      dsocket.send(packet);
		      dsocket.close();
		    } catch (Exception e) {
		      System.err.println(e);
		    }
	} 
	
	public static byte[] hexStringToByteArray(String s) {
	    int len = s.length();
	    byte[] data = new byte[len / 2];
	    for (int i = 0; i < len; i += 2) {
	        data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)+ Character.digit(s.charAt(i+1), 16));
	    }
	    return data;
	}
}
	
