From 7214ce5563026191a5507d24f46ab206114746cb Mon Sep 17 00:00:00 2001 From: basti Date: Thu, 26 Nov 2020 10:17:50 +0100 Subject: [PATCH] UDPunicast --- Projet_POO/src/nom/MainUDP.java | 17 +++++++++++++++++ Projet_POO/src/nom/UdpUnicastClient.java | 16 ++++++++++------ Projet_POO/src/nom/UdpUnicastServer.java | 2 +- 3 files changed, 28 insertions(+), 7 deletions(-) create mode 100644 Projet_POO/src/nom/MainUDP.java diff --git a/Projet_POO/src/nom/MainUDP.java b/Projet_POO/src/nom/MainUDP.java new file mode 100644 index 0000000..57ff43a --- /dev/null +++ b/Projet_POO/src/nom/MainUDP.java @@ -0,0 +1,17 @@ +package nom; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +public class MainUDP { + + public static void main(String[] args) { + int port = 7001; + UdpUnicastServer server = new UdpUnicastServer(port, "LocalHost"); + UdpUnicastClient client = new UdpUnicastClient(port); + + ExecutorService executorService = Executors.newFixedThreadPool(2); + executorService.submit(client); + executorService.submit(server); + } +} diff --git a/Projet_POO/src/nom/UdpUnicastClient.java b/Projet_POO/src/nom/UdpUnicastClient.java index ebe8d5e..c538522 100644 --- a/Projet_POO/src/nom/UdpUnicastClient.java +++ b/Projet_POO/src/nom/UdpUnicastClient.java @@ -3,9 +3,8 @@ package nom; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; -import java.net.InetAddress; import java.net.SocketException; -import java.net.UnknownHostException; + public class UdpUnicastClient implements Runnable{ @@ -20,14 +19,19 @@ public class UdpUnicastClient implements Runnable{ public void run() { try(DatagramSocket clientSocket = new DatagramSocket(7000)){ byte[] buffer = new byte[65507]; - clientSocket.setSoTimeout(3000); + //clientSocket.setSoTimeout(3000); + while (true) { + DatagramPacket datagramPacket = new DatagramPacket(buffer, 0, buffer.length); + clientSocket.receive(datagramPacket); + + String receivedMessage = new String(datagramPacket.getData()); + System.out.println(receivedMessage); + } } catch (SocketException e) { e.printStackTrace(); - } catch (UnknownHostException e) { - e.printStackTrace(); } catch (IOException e) { - e.printStackTrace(); + System.out.println("Timedout. CLient is closing."); } } diff --git a/Projet_POO/src/nom/UdpUnicastServer.java b/Projet_POO/src/nom/UdpUnicastServer.java index 1337486..1e64b31 100644 --- a/Projet_POO/src/nom/UdpUnicastServer.java +++ b/Projet_POO/src/nom/UdpUnicastServer.java @@ -21,7 +21,7 @@ public class UdpUnicastServer implements Runnable{ public void run() { try(DatagramSocket serverSocket = new DatagramSocket(7000)){ - for (int i = 0; i<3; i++) { //à remplacer par un while plus tard ? + for (int i = 0; i<3; i++) { String message = "Message number " + i; DatagramPacket datagramPacket = new DatagramPacket( message.getBytes(),