package model;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
public class Multicast extends NetPacket {
public void send(Target t, byte[] message){
MulticastSocket Msocket = null;
try {
Msocket = new MulticastSocket();
InetAddress group = InetAddress.getByName(t.ip);
DatagramPacket packet = new DatagramPacket(message, message.length, group, t.port);
Msocket.send(packet);
} catch (IOException e) {
e.printStackTrace();
}finally{
Msocket.close();
}
}
public void send(Target t, String message, int id){
DTOMessage dto = new DTOMessage(message);
dto.id = id;
dto.setComputerName();
dto.setDate();
dto.to = t.toStringShort();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos;
try {
oos = new ObjectOutputStream( baos );
oos.writeObject( dto );
oos.close();
} catch (IOException e) {
e.printStackTrace();
}
byte[] array = baos.toByteArray();
send(t, array);
Send.sendMessage.add(dto);
Model.getObserver().setProperty("sendMessage");
}
}