Modification pseudo opérationnel

This commit is contained in:
Nabil Moukhlis 2020-12-02 11:12:51 +01:00
parent 717a2427fb
commit 09b6dc8525
6 changed files with 39 additions and 32 deletions

Binary file not shown.

View file

@ -128,7 +128,7 @@ public class ChatApp {
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} }
app.modifierPseudo("Jean"); app.modifierPseudo("Doudou");
try { try {
Thread.sleep(2000); Thread.sleep(2000);
} catch (InterruptedException e) { } catch (InterruptedException e) {
@ -159,9 +159,9 @@ class Runner implements Runnable {
} }
@Override @Override
public void run() { public void run() {
if (app.getMe().getPort() != 4000) {
UDPEchange.ecouteUDP(app); UDPEchange.ecouteUDP(app);
}
} }
} }

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -78,7 +78,8 @@ public class UDPEchange {
// Envoie en broadcast à tous les utilsateurs // Envoie en broadcast à tous les utilsateurs
DatagramSocket socket = new DatagramSocket(); DatagramSocket socket = new DatagramSocket();
byte[]buffer = broadcastMessage.getBytes(); byte[]buffer = broadcastMessage.getBytes();
DatagramPacket packet = new DatagramPacket( buffer, buffer.length, InetAddress.getLoopbackAddress(), port ); //DatagramPacket packet = new DatagramPacket( buffer, buffer.length, InetAddress.getLoopbackAddress(), port );
DatagramPacket packet = new DatagramPacket( buffer, buffer.length, broadcastAdress, port );
socket.send(packet); socket.send(packet);
socket.close(); socket.close();
System.out.println("***********Message envoye***********"); System.out.println("***********Message envoye***********");
@ -121,10 +122,10 @@ class RunnerUDP implements Runnable {
System.out.println("**********************************"); System.out.println("**********************************");
String Type = received.split("\n")[0]; String Type = received.split("\n")[0];
//**************************************** //************************************************************************************************************************
//***************************************** //*************************************************************************************************************************
//Demande de connexion //****************************************Demande de connexion****************************************
//**************************************** //************************************************************************************************************************
//**************************************** //****************************************
if (Type.equals("Connexion")) { // un utilisateur vient d'arriver sur le reseau if (Type.equals("Connexion")) { // un utilisateur vient d'arriver sur le reseau
System.out.println("Reception d'une demande de connexion"); System.out.println("Reception d'une demande de connexion");
@ -151,11 +152,11 @@ class RunnerUDP implements Runnable {
( app.getActifUsers() ).afficherListeUtilisateurs(); ( app.getActifUsers() ).afficherListeUtilisateurs();
} }
//**************************************** //************************************************************************************************************************
//***************************************** //*************************************************************************************************************************
//Reponse d'une connexion //****************************************Reponse d'une connexion****************************************
//**************************************** //************************************************************************************************************************
//**************************************** //************************************************************************************************************************
if (Type.equals("Reponse Connexion")) { // Un utilisateur te repond suite à ta demande de connexion if (Type.equals("Reponse Connexion")) { // Un utilisateur te repond suite à ta demande de connexion
@ -170,11 +171,11 @@ class RunnerUDP implements Runnable {
} }
} }
//**************************************** //************************************************************************************************************************
//***************************************** //*************************************************************************************************************************
//Demande de modification d'un pseudo //****************************************Demande de modification d'un pseudo****************************************
//**************************************** //************************************************************************************************************************
//**************************************** //************************************************************************************************************************
if (Type.equals("Modification Pseudo")) { if (Type.equals("Modification Pseudo")) {
if(( app.getActifUsers() ).verifierUnicite(received.split("\n")[2])) { if(( app.getActifUsers() ).verifierUnicite(received.split("\n")[2])) {
@ -183,6 +184,7 @@ class RunnerUDP implements Runnable {
String Message = "Bon Choix Pseudo\n" + received.split("\n")[2] ; String Message = "Bon Choix Pseudo\n" + received.split("\n")[2] ;
System.out.println(Message); System.out.println(Message);
try { try {
//UDPEchange.envoiUnicast(Destination.getIp(),Message, Destination.getPort()); //UDPEchange.envoiUnicast(Destination.getIp(),Message, Destination.getPort());
UDPEchange.envoiUnicast(InetAddress.getLoopbackAddress(),Message, 4000); UDPEchange.envoiUnicast(InetAddress.getLoopbackAddress(),Message, 4000);
} catch (IOException e) { } catch (IOException e) {
@ -201,10 +203,10 @@ class RunnerUDP implements Runnable {
} }
( app.getActifUsers() ).afficherListeUtilisateurs(); ( app.getActifUsers() ).afficherListeUtilisateurs();
} }
//**************************************** //************************************************************************************************************************
//***************************************** //*************************************************************************************************************************
//Mauvais choix d'un pseudo //****************************************Mauvais choix d'un pseudo****************************************
//**************************************** //************************************************************************************************************************
//**************************************** //****************************************
@ -212,23 +214,28 @@ class RunnerUDP implements Runnable {
System.out.println("Ce choix de pseudo est déjà pris il te faut en choisir un autre"); System.out.println("Ce choix de pseudo est déjà pris il te faut en choisir un autre");
} }
//**************************************** //************************************************************************************************************************
//***************************************** //*************************************************************************************************************************
//Bon choix d'un pseudo //****************************************Bon choix d'un pseudo****************************************
//**************************************** //************************************************************************************************************************
//**************************************** //************************************************************************************************************************
if (Type.equals("Bon Choix Pseudo")) { if (Type.equals("Bon Choix Pseudo")) {
( app.getActifUsers() ).supprimerList(app.getMe()); ( app.getActifUsers() ).supprimerList(app.getMe());
app.getMe().setPseudo(received.split("\n")[1]); app.getMe().setPseudo(received.split("\n")[1]);
( app.getActifUsers() ).addList(app.getMe()); ( app.getActifUsers() ).addList(app.getMe());
System.out.println("Changement pseudo accepte, nouvelle liste des utilisateurs actifs:");
app.getActifUsers().afficherListeUtilisateurs();
} }
//**************************************** //************************************************************************************************************************
//***************************************** //*************************************************************************************************************************
//Demande d'une deconnexion //****************************************Demande d'une deconnexion****************************************
//**************************************** //************************************************************************************************************************
//**************************************** //************************************************************************************************************************
if (Type.equals("Deconnexion")) { if (Type.equals("Deconnexion")) {
( app.getActifUsers() ).supprimerList(Utilisateur.stringToUtilisateur(received.split("\n")[1])); ( app.getActifUsers() ).supprimerList(Utilisateur.stringToUtilisateur(received.split("\n")[1]));