Projet_POO/Projet_POO/src/liste/GestionnaireListeUtilisateur.java
2020-12-14 15:21:39 +01:00

84 satır
2,2 KiB
Java

package liste;
import java.util.ArrayList;
//import nom.GestionnaireNom;
public class GestionnaireListeUtilisateur {
//contient la liste Utilisateur à jour
private ArrayList<TypeListeUtilisateur> listeUtilisateur = new ArrayList<TypeListeUtilisateur>();
//Instance du gestionnaire de liste
static private GestionnaireListeUtilisateur uniqueInstance = null;
//Renvoie le gestionnaire de liste, ou le crée s'il n'existe pas encore
static public GestionnaireListeUtilisateur instance() {
//Si l'instance n'existe pas, on la crée
if (GestionnaireListeUtilisateur.uniqueInstance == null) {
GestionnaireListeUtilisateur.uniqueInstance = new GestionnaireListeUtilisateur();
}
return GestionnaireListeUtilisateur.uniqueInstance;
}
//Renvoie la ListeUtilisateur
public ArrayList<TypeListeUtilisateur> getListeUtilisateur() {
return listeUtilisateur;
}
// Set la listeUtilisateur
public void setListeUtilisateur(ArrayList<TypeListeUtilisateur> liste) {
listeUtilisateur = liste;
}
//Demande à tout le monde d'envoyer leur infos (TypeListeUtilisateur) --> Uniquement lors de la connexion
public void majListe() {
envoie("listRequest"+ "$$$" + " " + "$$$" + " " + "$$$" + " ");
}
//debug local
public void majListe2() {
envoie2("listRequest"+ "$$$" + " " + "$$$" + " " + "$$$" + " ");
}
//ecoute le port de broadcast pour recevoir le message personnalisé
public void ecoute() { //static ??
Thread ecouteThread = new Thread(new UdpBroadcastServer(ConstanteListeUtilisateur.NUM_PORT_SERVER));
ecouteThread.start();
}
//debug local
public void ecoute2(int port) { //static ??
Thread ecouteThread = new Thread(new UdpBroadcastServer(port));
ecouteThread.start();
}
//envoie en Broadcast aux autres liste les infos sur cet utilisateur
public void envoie(String message) {
Thread envoieThread = new Thread(new UdpBroadcastClient(ConstanteListeUtilisateur.NUM_PORT_SERVER, message));
envoieThread.start();
}
//debug local
public void envoie2(String message) {
for(int i=0; i<10; i++) {
Thread envoieThread = new Thread(new UdpUnicastClient(ConstanteListeUtilisateur.NUM_PORT_SERVER + i, "LocalHost", message));
envoieThread.start();
}
}
}