Projet_COO_POO/chatGitElise/src/network/UDPOutput.java
2021-02-13 10:22:15 +01:00

42 lines
1.1 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);
}
public DatagramSocket getSocket() {
return this.socket;
}
}