Projet_POO/Projet_POO/src/liste/GestionnaireListeUtilisateur.java
2020-12-04 19:16:59 +01:00

69 行
1.7 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éé s'il n'existe pas encore
static public GestionnaireListeUtilisateur instance() {
//Si l'instance n'existe pas, on la créé
if (GestionnaireListeUtilisateur.uniqueInstance == null) {
GestionnaireListeUtilisateur.uniqueInstance = new GestionnaireListeUtilisateur();
}
return GestionnaireListeUtilisateur.uniqueInstance;
}
public ArrayList<TypeListeUtilisateur> getListeUtilisateur() {
return listeUtilisateur;
}
public void setListeUtilisateur(ArrayList<TypeListeUtilisateur> liste) {
listeUtilisateur = liste;
}
//récupérer la liste des autres
public void majListe() {
UdpBroadcastClient client = new UdpBroadcastClient(ConstanteListeUtilisateur.NUM_PORT_SERVER,
"listRequest"+ "$$$" + " " + "$$$" + " " + "$$$" + " ");
Thread t = new Thread(client);
t.start();
}
//ecoute le port de broadcast pour recevoir le message personnalisé
public void ecoute() { //static ??
Thread ecouteThread = new Thread(new UdpUnicastServer(ConstanteListeUtilisateur.NUM_PORT_SERVER));
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();
}
}