flows
/*
Utilizando flujos enviar y recibir un valor entero
Para enviar:
1. Crear el traductor para envio de bytes a traves de la red
2. Crear la conexion entre la fuente y el destino-->
inicializar flujo de datos de salida para envio del entero, utilizando el traductor
3. Escribir el dato en el flujo de salida.
4. Crear el arreglo de bytes y utilizar el traductor para pasar el valor entero a bytes
5.inicializar el datagrama con el arreglo, tamanho, ip, y puerto
6.enviar el datagrama con el multicast socket.
Para Recibir:
ejercicio en clase 10 minutos
*/
MulticastSocket ms;
DatagramPacket enviar;
DatagramPacket recibir;
InetAddress ip;
DataOutputStream dos;
DataInputStream dis;
int valorEnviar=101;
int valorRecibir=0;
void setup() {
try {
ip=InetAddress.getByName("239.
ms=new MulticastSocket(5000);
ms.joinGroup(ip);
ms.setSoTimeout(500);
}
catch(UnknownHostException ex) {
println(ex);
}
catch(IOException ex) {
}
}
void draw() {
enviar();
recibir();
}
void enviar() {
try {
ByteArrayOutputStream bos =
new ByteArrayOutputStream();
dos = new DataOutputStream(bos);
dos.writeInt(valorEnviar);
dos.flush();
byte[] datos = bos.toByteArray();
enviar = new DatagramPacket(datos,
datos.length, ip, 5000);
ms.send(enviar);
}
catch(IOException ex) {
println("error en envio " + ex);
}
}
void recibir(){
try{
byte datosRecibe[] = new byte[5000];
recibir=new DatagramPacket(datosRecibe, datosRecibe.length);
ms.receive(recibir);
ByteArrayInputStream bis = new ByteArrayInputStream(
dis = new DataInputStream(bis);
valorRecibir =dis.readInt();
println(valorRecibir);
}
catch(IOException ex){
println("error en recibo " + ex);
}
}