From 4391f2c4198e09a3c695507e3890554dba490843 Mon Sep 17 00:00:00 2001 From: basti Date: Thu, 26 Nov 2020 09:53:07 +0100 Subject: [PATCH] UDP (en cours) --- .../src/nom/GestionnaireListeUtilisateur.java | 16 +++++-- Projet_POO/src/nom/TypeListeUtilisateur.java | 6 +-- Projet_POO/src/nom/UdpUnicastClient.java | 34 ++++++++++++++ Projet_POO/src/nom/UdpUnicastServer.java | 47 +++++++++++++++++++ 4 files changed, 97 insertions(+), 6 deletions(-) create mode 100644 Projet_POO/src/nom/UdpUnicastClient.java create mode 100644 Projet_POO/src/nom/UdpUnicastServer.java diff --git a/Projet_POO/src/nom/GestionnaireListeUtilisateur.java b/Projet_POO/src/nom/GestionnaireListeUtilisateur.java index 80be3e6..dba3757 100644 --- a/Projet_POO/src/nom/GestionnaireListeUtilisateur.java +++ b/Projet_POO/src/nom/GestionnaireListeUtilisateur.java @@ -2,12 +2,11 @@ package nom; import java.util.ArrayList; import java.util.List; -import TypeListeUtilisateur.java; public class GestionnaireListeUtilisateur { //contient la liste Utilisateur à jour - public List listeUtilisateur = new ArrayList(); //créer un nouveau type : nom = (String[], int) ? + public List listeUtilisateur = new ArrayList(); //Instance du gestionnaire de liste static private GestionnaireListeUtilisateur uniqueInstance = null; @@ -20,7 +19,7 @@ public class GestionnaireListeUtilisateur { GestionnaireListeUtilisateur.uniqueInstance = new GestionnaireListeUtilisateur(); } - return GestionnaireListeUtilisateur.uniqueInstance + return GestionnaireListeUtilisateur.uniqueInstance; } @@ -29,6 +28,17 @@ public class GestionnaireListeUtilisateur { } + + //ecoute le port de broadcast pour recevoir le message personnalisé + public String ecoute() { + + + + + return ""; + } + + //met à jour la Liste d'utilisateur public void MAJListeUtilisateur() { ajouteUtilisateur(); diff --git a/Projet_POO/src/nom/TypeListeUtilisateur.java b/Projet_POO/src/nom/TypeListeUtilisateur.java index c9d0a5d..37dc1ce 100644 --- a/Projet_POO/src/nom/TypeListeUtilisateur.java +++ b/Projet_POO/src/nom/TypeListeUtilisateur.java @@ -2,7 +2,7 @@ package nom; public class TypeListeUtilisateur { - public String[] nom; - public int id; - public String[] IP; + public String nom; + public String id; + public String IP; } diff --git a/Projet_POO/src/nom/UdpUnicastClient.java b/Projet_POO/src/nom/UdpUnicastClient.java new file mode 100644 index 0000000..ebe8d5e --- /dev/null +++ b/Projet_POO/src/nom/UdpUnicastClient.java @@ -0,0 +1,34 @@ +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{ + + private final int port; + + + public UdpUnicastClient(int port) { + this.port = port; + } + + + public void run() { + try(DatagramSocket clientSocket = new DatagramSocket(7000)){ + byte[] buffer = new byte[65507]; + clientSocket.setSoTimeout(3000); + + } catch (SocketException e) { + e.printStackTrace(); + } catch (UnknownHostException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/Projet_POO/src/nom/UdpUnicastServer.java b/Projet_POO/src/nom/UdpUnicastServer.java new file mode 100644 index 0000000..1337486 --- /dev/null +++ b/Projet_POO/src/nom/UdpUnicastServer.java @@ -0,0 +1,47 @@ +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; + +public class UdpUnicastServer implements Runnable{ + + private final int clientPort; + private final String clientIP; + + public UdpUnicastServer(int clientPort, String clientIP) { + this.clientPort = clientPort; + this.clientIP = clientIP; + + } + + + public void run() { + try(DatagramSocket serverSocket = new DatagramSocket(7000)){ + for (int i = 0; i<3; i++) { //à remplacer par un while plus tard ? + String message = "Message number " + i; + DatagramPacket datagramPacket = new DatagramPacket( + message.getBytes(), + message.length(), + InetAddress.getByName(clientIP), + clientPort + ); + serverSocket.send(datagramPacket); + } + + } catch (SocketException e) { + e.printStackTrace(); + } catch (UnknownHostException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + + + + } + +}