dédoublement des fct pour tester en local
This commit is contained in:
parent
3ebb86ea89
commit
465232c582
8 changed files with 51 additions and 21 deletions
|
@ -9,14 +9,14 @@ public class Main {
|
|||
|
||||
public static void main(String[] args) {
|
||||
//on lance le server d'écoute de cmd
|
||||
GestionnaireListeUtilisateur.instance().ecoute();
|
||||
GestionnaireListeUtilisateur.instance().ecoute2(PORT); //enlever le 2, debug //TODO PORT = 2000 à 2009
|
||||
|
||||
//on crée manuellement des utilisateurs
|
||||
GestionnaireListeUtilisateur.instance().envoie("add$$$77$$$Moi$$$LocalHost");
|
||||
|
||||
|
||||
//on met à jour notre liste
|
||||
GestionnaireListeUtilisateur.instance().majListe();
|
||||
GestionnaireListeUtilisateur.instance().majListe2();
|
||||
|
||||
//on lance le UI
|
||||
Thread t = new Thread(new Login_RegisterUI());
|
||||
|
|
|
@ -5,5 +5,6 @@ public class ConstanteListeUtilisateur {
|
|||
static public String IP_BROADCAST = "255.255.255.255";
|
||||
static public int SIZE_ORDRE = 100;
|
||||
static public int NUM_PORT_SERVER = 2000;
|
||||
static public int NUM_PORT_SERVER2 = 2001;
|
||||
|
||||
}
|
||||
|
|
|
@ -43,13 +43,14 @@ public class GestionnaireListeUtilisateur {
|
|||
|
||||
//Demande à tout le monde d'envoyer leur infos (TypeListeUtilisateur) --> Uniquement lors de la connexion
|
||||
public void majListe() {
|
||||
UdpBroadcastClient client = new UdpBroadcastClient(ConstanteListeUtilisateur.NUM_PORT_SERVER,
|
||||
"listRequest"+ "$$$" + " " + "$$$" + " " + "$$$" + " ");
|
||||
Thread t = new Thread(client);
|
||||
t.start();
|
||||
envoie("listRequest"+ "$$$" + " " + "$$$" + " " + "$$$" + " ");
|
||||
|
||||
}
|
||||
|
||||
public void majListe2() {
|
||||
envoie2("listRequest"+ "$$$" + " " + "$$$" + " " + "$$$" + " ");
|
||||
|
||||
}
|
||||
|
||||
//ecoute le port de broadcast pour recevoir le message personnalisé
|
||||
public void ecoute() { //static ??
|
||||
|
@ -57,12 +58,24 @@ public class GestionnaireListeUtilisateur {
|
|||
ecouteThread.start();
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -77,6 +77,13 @@ public class TraitementCmdListe implements Runnable{
|
|||
t.start();
|
||||
}
|
||||
|
||||
public void envoyerNom2(int port) { //localHost TODO (gerer IP, unhandle exception ...)
|
||||
UdpUnicastClient client = new UdpUnicastClient(port, "LocalHost",
|
||||
"add"+ "$$$" + GestionnaireNom.instance().getId() + "$$$" + GestionnaireNom.instance().getNom() + "$$$" + "LocalHost");
|
||||
Thread t = new Thread(client);
|
||||
t.start();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -7,22 +7,23 @@ import java.io.IOException;
|
|||
import java.net.DatagramPacket;
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
public class UdpUnicastClient2 implements Runnable{
|
||||
public class UdpUnicastClient implements Runnable{
|
||||
|
||||
private final int serverPort;
|
||||
private final String serverIP;
|
||||
private final String message;
|
||||
|
||||
public UdpUnicastClient2(int serverPort, String serverIP) {
|
||||
public UdpUnicastClient(int serverPort, String serverIP, String msg) {
|
||||
this.serverPort = serverPort;
|
||||
this.serverIP = serverIP;
|
||||
|
||||
this.message = msg;
|
||||
}
|
||||
|
||||
|
||||
public void run() {
|
||||
try(DatagramSocket serverSocket = new DatagramSocket()){
|
||||
//for (int i = 0; i<3; i++) {
|
||||
String message = "add$$$" + 77 + "$$$Roger$$$LocalHost"; //ordre$$$id$$$nom$$$ip
|
||||
//String message = "add$$$" + 77 + "$$$Roger$$$LocalHost"; //ordre$$$id$$$nom$$$ip
|
||||
DatagramPacket datagramPacket = new DatagramPacket(
|
||||
message.getBytes(),
|
||||
message.length(),
|
|
@ -23,15 +23,15 @@ public class GestionnaireNom{
|
|||
//Renvoie le gestionnaire de liste, ou le créé s'il n'existe pas encore
|
||||
static public GestionnaireNom instance() {
|
||||
|
||||
try {
|
||||
ipUtilisateur = InetAddress.getLocalHost().getHostName();
|
||||
}
|
||||
catch (Exception e) {}
|
||||
|
||||
|
||||
//Si l'instance n'existe pas, on la créé
|
||||
if (GestionnaireNom.uniqueInstance == null) {
|
||||
GestionnaireNom.uniqueInstance = new GestionnaireNom();
|
||||
|
||||
try {
|
||||
ipUtilisateur = InetAddress.getLocalHost().getHostName();
|
||||
}
|
||||
catch (Exception e) {}
|
||||
}
|
||||
|
||||
return GestionnaireNom.uniqueInstance;
|
||||
|
@ -121,15 +121,23 @@ public class GestionnaireNom{
|
|||
|
||||
if (verifierDisponibiliteNom(nom)) {
|
||||
setNom(nom);
|
||||
GestionnaireListeUtilisateur.instance().envoie("add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + "LocalHost");
|
||||
|
||||
UdpBroadcastClient client = new UdpBroadcastClient(ConstanteListeUtilisateur.NUM_PORT_SERVER,
|
||||
"add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + "LocalHost");
|
||||
Thread t = new Thread(client);
|
||||
t.start();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean nommer2(String nom) {
|
||||
|
||||
if (verifierDisponibiliteNom(nom)) {
|
||||
setNom(nom);
|
||||
GestionnaireListeUtilisateur.instance().envoie2("add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + "LocalHost");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -72,7 +72,7 @@ public class Login_RegisterUI extends JFrame implements Runnable{
|
|||
String id = idField.getText();
|
||||
String pwd = passwordField.getText();
|
||||
|
||||
if( pwd.equals("admin") || id.equals("0") ) { //remplaver || par && -> flemme debug
|
||||
if( pwd.equals("admin") || id.equals("0") ) { //remplaver || par && -> facilite debug
|
||||
|
||||
GestionnaireNom.instance().setId(id);
|
||||
|
||||
|
|
|
@ -84,7 +84,7 @@ public class NomUI extends JFrame implements Runnable{
|
|||
else {
|
||||
if (GestionnaireNom.instance().verifierDisponibiliteNom(nom) ) {
|
||||
if (!nom.isBlank()) {
|
||||
GestionnaireNom.instance().nommer(nom);
|
||||
GestionnaireNom.instance().nommer2(nom); //enlever le 2 à la fin //TODO
|
||||
dispose();
|
||||
|
||||
Thread t = new Thread(new ListUI());
|
||||
|
|
Loading…
Reference in a new issue