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) {
|
public static void main(String[] args) {
|
||||||
//on lance le server d'écoute de cmd
|
//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
|
//on crée manuellement des utilisateurs
|
||||||
GestionnaireListeUtilisateur.instance().envoie("add$$$77$$$Moi$$$LocalHost");
|
GestionnaireListeUtilisateur.instance().envoie("add$$$77$$$Moi$$$LocalHost");
|
||||||
|
|
||||||
|
|
||||||
//on met à jour notre liste
|
//on met à jour notre liste
|
||||||
GestionnaireListeUtilisateur.instance().majListe();
|
GestionnaireListeUtilisateur.instance().majListe2();
|
||||||
|
|
||||||
//on lance le UI
|
//on lance le UI
|
||||||
Thread t = new Thread(new Login_RegisterUI());
|
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 String IP_BROADCAST = "255.255.255.255";
|
||||||
static public int SIZE_ORDRE = 100;
|
static public int SIZE_ORDRE = 100;
|
||||||
static public int NUM_PORT_SERVER = 2000;
|
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
|
//Demande à tout le monde d'envoyer leur infos (TypeListeUtilisateur) --> Uniquement lors de la connexion
|
||||||
public void majListe() {
|
public void majListe() {
|
||||||
UdpBroadcastClient client = new UdpBroadcastClient(ConstanteListeUtilisateur.NUM_PORT_SERVER,
|
envoie("listRequest"+ "$$$" + " " + "$$$" + " " + "$$$" + " ");
|
||||||
"listRequest"+ "$$$" + " " + "$$$" + " " + "$$$" + " ");
|
|
||||||
Thread t = new Thread(client);
|
|
||||||
t.start();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void majListe2() {
|
||||||
|
envoie2("listRequest"+ "$$$" + " " + "$$$" + " " + "$$$" + " ");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
//ecoute le port de broadcast pour recevoir le message personnalisé
|
//ecoute le port de broadcast pour recevoir le message personnalisé
|
||||||
public void ecoute() { //static ??
|
public void ecoute() { //static ??
|
||||||
|
@ -57,12 +58,24 @@ public class GestionnaireListeUtilisateur {
|
||||||
ecouteThread.start();
|
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
|
//envoie en Broadcast aux autres liste les infos sur cet utilisateur
|
||||||
public void envoie(String message) {
|
public void envoie(String message) {
|
||||||
Thread envoieThread = new Thread(new UdpBroadcastClient(ConstanteListeUtilisateur.NUM_PORT_SERVER, message));
|
Thread envoieThread = new Thread(new UdpBroadcastClient(ConstanteListeUtilisateur.NUM_PORT_SERVER, message));
|
||||||
envoieThread.start();
|
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();
|
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.DatagramPacket;
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
|
|
||||||
public class UdpUnicastClient2 implements Runnable{
|
public class UdpUnicastClient implements Runnable{
|
||||||
|
|
||||||
private final int serverPort;
|
private final int serverPort;
|
||||||
private final String serverIP;
|
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.serverPort = serverPort;
|
||||||
this.serverIP = serverIP;
|
this.serverIP = serverIP;
|
||||||
|
this.message = msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void run() {
|
public void run() {
|
||||||
try(DatagramSocket serverSocket = new DatagramSocket()){
|
try(DatagramSocket serverSocket = new DatagramSocket()){
|
||||||
//for (int i = 0; i<3; i++) {
|
//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(
|
DatagramPacket datagramPacket = new DatagramPacket(
|
||||||
message.getBytes(),
|
message.getBytes(),
|
||||||
message.length(),
|
message.length(),
|
|
@ -23,15 +23,15 @@ public class GestionnaireNom{
|
||||||
//Renvoie le gestionnaire de liste, ou le créé s'il n'existe pas encore
|
//Renvoie le gestionnaire de liste, ou le créé s'il n'existe pas encore
|
||||||
static public GestionnaireNom instance() {
|
static public GestionnaireNom instance() {
|
||||||
|
|
||||||
try {
|
|
||||||
ipUtilisateur = InetAddress.getLocalHost().getHostName();
|
|
||||||
}
|
|
||||||
catch (Exception e) {}
|
|
||||||
|
|
||||||
|
|
||||||
//Si l'instance n'existe pas, on la créé
|
//Si l'instance n'existe pas, on la créé
|
||||||
if (GestionnaireNom.uniqueInstance == null) {
|
if (GestionnaireNom.uniqueInstance == null) {
|
||||||
GestionnaireNom.uniqueInstance = new GestionnaireNom();
|
GestionnaireNom.uniqueInstance = new GestionnaireNom();
|
||||||
|
|
||||||
|
try {
|
||||||
|
ipUtilisateur = InetAddress.getLocalHost().getHostName();
|
||||||
|
}
|
||||||
|
catch (Exception e) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
return GestionnaireNom.uniqueInstance;
|
return GestionnaireNom.uniqueInstance;
|
||||||
|
@ -121,15 +121,23 @@ public class GestionnaireNom{
|
||||||
|
|
||||||
if (verifierDisponibiliteNom(nom)) {
|
if (verifierDisponibiliteNom(nom)) {
|
||||||
setNom(nom);
|
setNom(nom);
|
||||||
|
GestionnaireListeUtilisateur.instance().envoie("add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + "LocalHost");
|
||||||
|
|
||||||
UdpBroadcastClient client = new UdpBroadcastClient(ConstanteListeUtilisateur.NUM_PORT_SERVER,
|
return true;
|
||||||
"add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + "LocalHost");
|
}
|
||||||
Thread t = new Thread(client);
|
return false;
|
||||||
t.start();
|
}
|
||||||
|
|
||||||
|
public boolean nommer2(String nom) {
|
||||||
|
|
||||||
|
if (verifierDisponibiliteNom(nom)) {
|
||||||
|
setNom(nom);
|
||||||
|
GestionnaireListeUtilisateur.instance().envoie2("add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + "LocalHost");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,7 +72,7 @@ public class Login_RegisterUI extends JFrame implements Runnable{
|
||||||
String id = idField.getText();
|
String id = idField.getText();
|
||||||
String pwd = passwordField.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);
|
GestionnaireNom.instance().setId(id);
|
||||||
|
|
||||||
|
|
|
@ -84,7 +84,7 @@ public class NomUI extends JFrame implements Runnable{
|
||||||
else {
|
else {
|
||||||
if (GestionnaireNom.instance().verifierDisponibiliteNom(nom) ) {
|
if (GestionnaireNom.instance().verifierDisponibiliteNom(nom) ) {
|
||||||
if (!nom.isBlank()) {
|
if (!nom.isBlank()) {
|
||||||
GestionnaireNom.instance().nommer(nom);
|
GestionnaireNom.instance().nommer2(nom); //enlever le 2 à la fin //TODO
|
||||||
dispose();
|
dispose();
|
||||||
|
|
||||||
Thread t = new Thread(new ListUI());
|
Thread t = new Thread(new ListUI());
|
||||||
|
|
Loading…
Reference in a new issue