From 53e7aae64da053913848c04ce28e358431853c8f Mon Sep 17 00:00:00 2001 From: basti Date: Thu, 26 Nov 2020 13:39:42 +0100 Subject: [PATCH] UDP : client <-> server --- .../src/nom/GestionnaireListeUtilisateur.java | 10 +++- Projet_POO/src/nom/MainUDP.java | 10 ++-- Projet_POO/src/nom/UdpUnicastClient.java | 51 +++++++++++-------- Projet_POO/src/nom/UdpUnicastServer.java | 49 ++++++++---------- 4 files changed, 66 insertions(+), 54 deletions(-) diff --git a/Projet_POO/src/nom/GestionnaireListeUtilisateur.java b/Projet_POO/src/nom/GestionnaireListeUtilisateur.java index dba3757..16c72ed 100644 --- a/Projet_POO/src/nom/GestionnaireListeUtilisateur.java +++ b/Projet_POO/src/nom/GestionnaireListeUtilisateur.java @@ -31,13 +31,21 @@ public class GestionnaireListeUtilisateur { //ecoute le port de broadcast pour recevoir le message personnalisé public String ecoute() { + int portEcoute = 2000; + UdpUnicastServer server = new UdpUnicastServer(portEcoute); + - return ""; } + //envoie en Broadcast aux autres liste les infos sur cet utilisateur + public void envoie() { + + + } + //met à jour la Liste d'utilisateur public void MAJListeUtilisateur() { diff --git a/Projet_POO/src/nom/MainUDP.java b/Projet_POO/src/nom/MainUDP.java index 57ff43a..e3064ff 100644 --- a/Projet_POO/src/nom/MainUDP.java +++ b/Projet_POO/src/nom/MainUDP.java @@ -6,12 +6,14 @@ 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); + int portServer = 7001; + int portClient = 7000; + + UdpUnicastServer server = new UdpUnicastServer(portServer); + UdpUnicastClient client = new UdpUnicastClient(portClient, portServer, "LocalHost"); ExecutorService executorService = Executors.newFixedThreadPool(2); - executorService.submit(client); executorService.submit(server); + executorService.submit(client); } } diff --git a/Projet_POO/src/nom/UdpUnicastClient.java b/Projet_POO/src/nom/UdpUnicastClient.java index 291906a..d940914 100644 --- a/Projet_POO/src/nom/UdpUnicastClient.java +++ b/Projet_POO/src/nom/UdpUnicastClient.java @@ -1,38 +1,49 @@ package nom; +import java.net.DatagramSocket; +import java.net.InetAddress; +import java.net.SocketException; import java.io.IOException; import java.net.DatagramPacket; -import java.net.DatagramSocket; -import java.net.SocketException; - +import java.net.UnknownHostException; public class UdpUnicastClient implements Runnable{ - private final int port; + private final int clientPort; + private final int serverPort; + private final String serverIP; - - public UdpUnicastClient(int port) { - this.port = port; + public UdpUnicastClient(int clientPort, int serverPort, String serverIP) { + this.clientPort = clientPort; + this.serverPort = serverPort; + this.serverIP = serverIP; + } - - + + public void run() { - try(DatagramSocket clientSocket = new DatagramSocket(port)){ - byte[] buffer = new byte[65507]; - //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); + try(DatagramSocket serverSocket = new DatagramSocket(clientPort)){ + for (int i = 0; i<3; i++) { + String message = "Message number " + i; + DatagramPacket datagramPacket = new DatagramPacket( + message.getBytes(), + message.length(), + InetAddress.getByName(serverIP), + serverPort + ); + serverSocket.send(datagramPacket); } } catch (SocketException e) { e.printStackTrace(); + } catch (UnknownHostException e) { + e.printStackTrace(); } catch (IOException e) { - System.out.println("Timedout. CLient is closing."); + e.printStackTrace(); } + + + } - + } diff --git a/Projet_POO/src/nom/UdpUnicastServer.java b/Projet_POO/src/nom/UdpUnicastServer.java index 1e64b31..8ede7a7 100644 --- a/Projet_POO/src/nom/UdpUnicastServer.java +++ b/Projet_POO/src/nom/UdpUnicastServer.java @@ -1,47 +1,38 @@ package nom; -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 java.net.DatagramSocket; +import java.net.SocketException; + public class UdpUnicastServer implements Runnable{ - private final int clientPort; - private final String clientIP; + private final int serverPort; - public UdpUnicastServer(int clientPort, String clientIP) { - this.clientPort = clientPort; - this.clientIP = clientIP; - + + public UdpUnicastServer(int serverPort) { + this.serverPort = serverPort; } - - + + public void run() { - try(DatagramSocket serverSocket = new DatagramSocket(7000)){ - for (int i = 0; i<3; i++) { - String message = "Message number " + i; - DatagramPacket datagramPacket = new DatagramPacket( - message.getBytes(), - message.length(), - InetAddress.getByName(clientIP), - clientPort - ); - serverSocket.send(datagramPacket); + try(DatagramSocket serverSocket = new DatagramSocket(serverPort)){ + byte[] buffer = new byte[65507]; + //serverSocket.setSoTimeout(3000); + while (true) { + DatagramPacket datagramPacket = new DatagramPacket(buffer, 0, buffer.length); + serverSocket.receive(datagramPacket); + + String receivedMessage = new String(datagramPacket.getData(), 0, datagramPacket.getLength()); + 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."); } - - - } - + }