Modification UDPEchange
This commit is contained in:
parent
a025a305fd
commit
1a674917f6
6 changed files with 51 additions and 27 deletions
Binary file not shown.
|
@ -69,7 +69,7 @@ public class ChatApp {
|
|||
|
||||
/**
|
||||
* Modification du pseudo de l'utilisateur
|
||||
* Envoie en broadcast son ancien pseudo et son nouveau
|
||||
* Envoie en broadcast ses informations utilisateurs et son nouveau pseudo
|
||||
*
|
||||
* @param nouveau correspond au nouveau pseudo
|
||||
*/
|
||||
|
@ -77,14 +77,14 @@ public class ChatApp {
|
|||
// @ de broadcast du réseau de l'utilisateur me
|
||||
InetAddress broadcastAdress = InetAddress.getLoopbackAddress(); // A MODIFIER
|
||||
// Message que l'on envoie à tous les utilisateurs actifs
|
||||
String broadcastMessage = "Modification Pseudo\n" + this.getMe().getPseudo() + "\n" + nouveau + "\n";
|
||||
String broadcastMessage = "Modification Pseudo\n" + this.getMe().toString() + "\n" + nouveau + "\n";
|
||||
/*for(Integer p : ListPort ) {
|
||||
if(!(p.equals(this.getMe().getPort())))
|
||||
{
|
||||
UDPEchange.connexion(broadcastAdress,broadcastMessage, p);
|
||||
}
|
||||
}*/
|
||||
UDPEchange.connexion(broadcastAdress,broadcastMessage, 1024);
|
||||
UDPEchange.connexion(broadcastAdress,broadcastMessage, 1234);
|
||||
}
|
||||
|
||||
|
||||
|
@ -104,7 +104,7 @@ public class ChatApp {
|
|||
UDPEchange.connexion(broadcastAdress,broadcastMessage, p);
|
||||
}
|
||||
}*/
|
||||
UDPEchange.connexion(broadcastAdress,broadcastMessage, 1024);
|
||||
UDPEchange.connexion(broadcastAdress,broadcastMessage, 1234);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -123,7 +123,7 @@ public class ChatApp {
|
|||
UDPEchange.connexion(broadcastAdress,broadcastMessage, p);
|
||||
}
|
||||
}*/
|
||||
UDPEchange.connexion(broadcastAdress,broadcastMessage, 1024);
|
||||
UDPEchange.connexion(broadcastAdress,broadcastMessage, 1234);
|
||||
}
|
||||
|
||||
public static void main (String[] args) throws IOException {
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -18,6 +18,15 @@ import java.util.concurrent.Executors;
|
|||
|
||||
public class UDPEchange {
|
||||
|
||||
private static Boolean Connecte = true; // True si l'utilisateur peut se connecter avec ce nom d'utilisateur , False sinon
|
||||
|
||||
public static Boolean getConnecte() {
|
||||
return Connecte;
|
||||
}
|
||||
public static void setConnecte(Boolean value) {
|
||||
Connecte = value ;
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Méthode permettant d'envoyer un message à tout les utilisateurs
|
||||
|
@ -39,6 +48,19 @@ public class UDPEchange {
|
|||
socket.send(packet);
|
||||
socket.close();
|
||||
System.out.println("Broadcast sent with address " + broadcastAddr.toString());
|
||||
try {
|
||||
Thread.sleep(1000); // L'utilisateur doit attendre la réponse de tous les utilisateurs connectes
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
if (UDPEchange.getConnecte()) {
|
||||
System.out.println("Connexion reussie");
|
||||
}
|
||||
else
|
||||
{
|
||||
System.out.println("Connexion echoue");
|
||||
System.exit(1) ; // A MODIFIER NORMALEMENT ON LUI DEMANDE DE CHOISIR UN NV MDP
|
||||
}
|
||||
}
|
||||
/*
|
||||
DatagramSocket socket = new DatagramSocket();
|
||||
|
@ -170,27 +192,29 @@ class RunnerUDP implements Runnable {
|
|||
if (Type.equals("Connexion")) { // un utilisateur vient d'arriver sur le reseau
|
||||
System.out.println("Reception d'une demande de connexion");
|
||||
Utilisateur u = Utilisateur.stringToUtilisateur(received.split("\n")[1]);
|
||||
String reponse = "Reponse Connexion\n";
|
||||
if (!( app.getActifUsers() ).verifierUnicite(u.getPseudo())) {
|
||||
System.out.println("Pseudo deja present dans la liste");
|
||||
reponse += "false\n";
|
||||
if (! u.equals(this.app.getMe())) { // On envoit en broadcast mais on ne souhaite pas recevoir de message de nous même
|
||||
String reponse = "Reponse Connexion\n";
|
||||
if (!( app.getActifUsers() ).verifierUnicite(u.getPseudo())) {
|
||||
System.out.println("Pseudo deja present dans la liste");
|
||||
reponse += "false\n";
|
||||
}
|
||||
else {
|
||||
System.out.println("Ajout d'un nouvel utilisateur dans la liste des Utilisateurs");
|
||||
( app.getActifUsers() ).addList(u);
|
||||
reponse += "true\n";
|
||||
|
||||
}
|
||||
reponse += app.getMe().toString();
|
||||
|
||||
try {
|
||||
UDPEchange.envoiUnicast(u.getIp(),reponse,u.getPort());
|
||||
}catch(IOException e)
|
||||
{
|
||||
System.out.println("Echec de l'envoi du message");
|
||||
}
|
||||
|
||||
( app.getActifUsers() ).afficherListeUtilisateurs();
|
||||
}
|
||||
else {
|
||||
System.out.println("Ajout d'un nouvel utilisateur dans la liste des Utilisateurs");
|
||||
( app.getActifUsers() ).addList(u);
|
||||
reponse += "true\n";
|
||||
|
||||
}
|
||||
reponse += app.getMe().toString();
|
||||
|
||||
try {
|
||||
UDPEchange.envoiUnicast(u.getIp(),reponse,u.getPort());
|
||||
}catch(IOException e)
|
||||
{
|
||||
System.out.println("Echec de l'envoi du message");
|
||||
}
|
||||
|
||||
( app.getActifUsers() ).afficherListeUtilisateurs();
|
||||
}
|
||||
//************************************************************************************************************************
|
||||
//*************************************************************************************************************************
|
||||
|
@ -207,7 +231,7 @@ class RunnerUDP implements Runnable {
|
|||
}
|
||||
else {
|
||||
System.out.println("Pseudo deja pris");
|
||||
System.out.println("Connexion echoue");
|
||||
UDPEchange.setConnecte(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -220,7 +244,7 @@ class RunnerUDP implements Runnable {
|
|||
if (Type.equals("Modification Pseudo")) {
|
||||
if(( app.getActifUsers() ).verifierUnicite(received.split("\n")[2])) {
|
||||
( app.getActifUsers() ).modifierList(received.split("\n")[1],received.split("\n")[2]);
|
||||
Utilisateur Destination = ( app.getActifUsers() ).getPseudoList(received.split("\n")[1]);
|
||||
Utilisateur Destination = Utilisateur.stringToUtilisateur(received.split("\n")[1]);
|
||||
String Message = "Bon Choix Pseudo\n" + received.split("\n")[2] ;
|
||||
System.out.println(Message);
|
||||
try {
|
||||
|
|
Binary file not shown.
Loading…
Reference in a new issue