dédoublement des fct pour tester en local

This commit is contained in:
basti 2020-12-07 15:22:19 +01:00
parent 3ebb86ea89
commit 465232c582
8 changed files with 51 additions and 21 deletions

View file

@ -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());

View file

@ -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;
}

View file

@ -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();
}
}
}

View file

@ -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();
}

View file

@ -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(),

View file

@ -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;
}
}

View file

@ -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);

View file

@ -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());