Projet_COO_POO/chatGitElise/src/network/UDPOutput.java

54 lines
1.9 KiB
Java

package network;
import model.*;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.*;
public class UDPOutput {
private Contact user;
private DatagramSocket socket;
private int port;
public UDPOutput(Contact user, int port) throws SocketException {
this.user = user;
this.port = port;
this.socket = new DatagramSocket(port, user.getAddress());
this.socket.setBroadcast(true);
}
public void send(MessagePseudo msg, InetAddress addressDest, int portSrc) throws IOException {
byte[] buffer = "".getBytes();
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
ObjectOutputStream objectOutStream = new ObjectOutputStream(byteOutStream);
objectOutStream.writeObject(msg);
objectOutStream.close();
buffer = byteOutStream.toByteArray();
DatagramPacket packet = new DatagramPacket(buffer,buffer.length,msg.getAddressDest(), msg.getPortDest());
this.socket.send(packet);
System.out.println("Message envoyé, pseudo = "+msg.getPseudo()+" et num port destination = "+portSrc+"\n");
}
public DatagramSocket getSocket() {
return this.socket;
}
/*public void send(MessageChangePseudo msg, InetAddress addressDest, int portSrc) throws IOException {
byte[] buffer = "".getBytes();
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
ObjectOutputStream objectOutStream = new ObjectOutputStream(byteOutStream);
objectOutStream.writeObject(msg);
objectOutStream.close();
buffer = byteOutStream.toByteArray();
DatagramPacket packet = new DatagramPacket(buffer,buffer.length,msg.getAddressDest(),msg.getPortDest());
this.socket.send(packet);
System.out.println("Message envoyé, pseudo = "+msg.getPseudo()+" et num port destination = "+portSrc+"\n");
}*/
}