Projet_POO/Projet_POO/src/main/java/liste/UdpBroadcastClient.java

58 lines
1.3 KiB
Java

package liste;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.UnknownHostException;
import defaut.Constante;
public class UdpBroadcastClient implements Runnable{
private final int serverPort;
private final String message;
private DatagramSocket serverSocket;
//Constructeur
public UdpBroadcastClient(int serverPort, String message) {
this.serverPort = serverPort;
this.message = message;
}
public void run() {
try{
serverSocket = new DatagramSocket();
serverSocket.setBroadcast(true);
DatagramPacket datagramPacket = new DatagramPacket(
message.getBytes(),
message.length(),
InetAddress.getByName(Constante.IP_BROADCAST),
serverPort
);
serverSocket.send(datagramPacket);
serverSocket.close(); //fermer en cas de coupure abrupte ?? //TODO
} catch (SocketException e) {
e.printStackTrace();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
serverSocket.close();
} catch (Exception e) {
System.out.println("Erreur : pas de Client Socket à fermer (UDP)");
e.printStackTrace();
}
}
}
}