Ajout de la javadoc
This commit is contained in:
parent
1d04a9000d
commit
aa21e6a56c
2 changed files with 59 additions and 0 deletions
|
@ -5,6 +5,12 @@ import java.util.ArrayList;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Classe récapitulant toutes les actions possibles pour un utilisateur
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
|
||||||
public class ChatApp {
|
public class ChatApp {
|
||||||
|
|
||||||
/* Liste des utilisateurs actifs */
|
/* Liste des utilisateurs actifs */
|
||||||
|
@ -13,6 +19,12 @@ public class ChatApp {
|
||||||
/* ChatApp est associé à un utilisateur */
|
/* ChatApp est associé à un utilisateur */
|
||||||
private Utilisateur me;
|
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){
|
public ChatApp(String pseudo, Integer port){
|
||||||
this.actifUsers = new ArrayList<Utilisateur>() ;
|
this.actifUsers = new ArrayList<Utilisateur>() ;
|
||||||
// Recuperer adresse IP de l'utilisateur
|
// Recuperer adresse IP de l'utilisateur
|
||||||
|
@ -26,6 +38,11 @@ public class ChatApp {
|
||||||
this.me = new Utilisateur(pseudo,port,ip);
|
this.me = new Utilisateur(pseudo,port,ip);
|
||||||
this.actifUsers.add(me);
|
this.actifUsers.add(me);
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Ajouter des utilisateurs actifs dans l'attribut liste 'actifUsers'
|
||||||
|
*
|
||||||
|
* @param u on va rajouter cet utilisateur dans la liste
|
||||||
|
*/
|
||||||
public void addList(Utilisateur u) {
|
public void addList(Utilisateur u) {
|
||||||
this.actifUsers.add(u);
|
this.actifUsers.add(u);
|
||||||
}
|
}
|
||||||
|
@ -37,6 +54,7 @@ public class ChatApp {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void connexion() throws IOException {
|
public void connexion() throws IOException {
|
||||||
// @ de broadcast du réseau de l'utilisateur me
|
// @ de broadcast du réseau de l'utilisateur me
|
||||||
InetAddress broadcastAdress = InetAddress.getLoopbackAddress(); // A MODIFIER
|
InetAddress broadcastAdress = InetAddress.getLoopbackAddress(); // A MODIFIER
|
||||||
|
|
|
@ -5,9 +5,25 @@ import java.net.InetAddress;
|
||||||
import java.net.SocketException;
|
import java.net.SocketException;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Classe representant les échanges UDP entre utilisateurs.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
|
||||||
public class UDPEchange {
|
public class UDPEchange {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Méthode permettant d'envoyer un message à tout les utilisateurs
|
||||||
|
* à l'aide du protocole UDP
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @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 {
|
public static void connexion( InetAddress broadcastAdress , String broadcastMessage , Integer port) throws IOException {
|
||||||
// Envoie en broadcast à tous les utilsateurs
|
// Envoie en broadcast à tous les utilsateurs
|
||||||
DatagramSocket socket = new DatagramSocket();
|
DatagramSocket socket = new DatagramSocket();
|
||||||
|
@ -19,6 +35,15 @@ public class UDPEchange {
|
||||||
System.out.println(broadcastMessage);
|
System.out.println(broadcastMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Méthode permettant la reception de messages d'utilisateurs
|
||||||
|
* à l'aide du protocole UDP
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @param app L'application de chat de l'utilisateur qui receptionne le message
|
||||||
|
*
|
||||||
|
*/
|
||||||
public static void ecouteUDP(ChatApp app)
|
public static void ecouteUDP(ChatApp app)
|
||||||
{
|
{
|
||||||
DatagramSocket socket = null;
|
DatagramSocket socket = null;
|
||||||
|
@ -37,10 +62,18 @@ public class UDPEchange {
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
// Un thread est lancé à chaque reception d'un message
|
||||||
exec.submit(new RunnerUDP(data,app));
|
exec.submit(new RunnerUDP(data,app));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Classe implémentant l'interface Runnable.
|
||||||
|
* Contient les traitements à executer dans un thread lancer par des méthodes de la class UDPEchange
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
class RunnerUDP implements Runnable {
|
class RunnerUDP implements Runnable {
|
||||||
final DatagramPacket data ;
|
final DatagramPacket data ;
|
||||||
ChatApp app ;
|
ChatApp app ;
|
||||||
|
@ -49,6 +82,14 @@ class RunnerUDP implements Runnable {
|
||||||
this.data= data;
|
this.data= data;
|
||||||
this.app = app ;
|
this.app = app ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Méthode qui redefinie les traitements qui seront exécutés dans le thread:
|
||||||
|
* Met à jour la liste des utilisateurs actifs
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
System.out.println("Thread started");
|
System.out.println("Thread started");
|
||||||
|
|
Loading…
Reference in a new issue