58 lines
1.3 KiB
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();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|