diff --git a/Implementation/src/ChatApp.java b/Implementation/src/ChatApp.java index 4a71dd6..a597b76 100644 --- a/Implementation/src/ChatApp.java +++ b/Implementation/src/ChatApp.java @@ -5,6 +5,12 @@ import java.util.ArrayList; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +/** +*
+* Classe récapitulant toutes les actions possibles pour un utilisateur +*
+*/ + public class ChatApp { /* Liste des utilisateurs actifs */ @@ -13,6 +19,12 @@ public class ChatApp { /* ChatApp est associé à un utilisateur */ private Utilisateur me; + /** + * Constructeur de l'application de chat + * + * @param pseudo Pseudo de l'utilisateur + * @param port Port de communication + */ public ChatApp(String pseudo, Integer port){ this.actifUsers = new ArrayList+* Classe representant les échanges UDP entre utilisateurs. +*
+*/ public class UDPEchange { + /** + *+ * Méthode permettant d'envoyer un message à tout les utilisateurs + * à l'aide du protocole UDP + *
+ * + * @param broadcastAdress l'addresse de broadcast du réseau + * @param broadcastMessage correspond au message à transmettre aux utilisateurs + * @param port : port destination + * + */ public static void connexion( InetAddress broadcastAdress , String broadcastMessage , Integer port) throws IOException { // Envoie en broadcast à tous les utilsateurs DatagramSocket socket = new DatagramSocket(); @@ -19,6 +35,15 @@ public class UDPEchange { System.out.println(broadcastMessage); } + /** + *+ * Méthode permettant la reception de messages d'utilisateurs + * à l'aide du protocole UDP + *
+ * + * @param app L'application de chat de l'utilisateur qui receptionne le message + * + */ public static void ecouteUDP(ChatApp app) { DatagramSocket socket = null; @@ -37,10 +62,18 @@ public class UDPEchange { } catch (IOException e) { e.printStackTrace(); } + // Un thread est lancé à chaque reception d'un message exec.submit(new RunnerUDP(data,app)); } } } + +/** +*+* Classe implémentant l'interface Runnable. +* Contient les traitements à executer dans un thread lancer par des méthodes de la class UDPEchange +*
+*/ class RunnerUDP implements Runnable { final DatagramPacket data ; ChatApp app ; @@ -49,6 +82,14 @@ class RunnerUDP implements Runnable { this.data= data; this.app = app ; } + + /** + *+ * Méthode qui redefinie les traitements qui seront exécutés dans le thread: + * Met à jour la liste des utilisateurs actifs + *
+ * + */ @Override public void run() { System.out.println("Thread started");