84 satır
2,2 KiB
Java
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();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|