From b111994b724710e63aa877c17f49559a9dd9b6d1 Mon Sep 17 00:00:00 2001 From: alartigu Date: Mon, 30 Nov 2020 16:06:27 +0100 Subject: [PATCH] Suite connexion() 4 --- Implementation/src/ChatApp.class | Bin 2305 -> 2767 bytes Implementation/src/ChatApp.java | 27 ++++++++++++++++++++++++++- Implementation/src/Runner.class | Bin 371 -> 371 bytes Implementation/src/RunnerUDP.class | Bin 943 -> 1625 bytes Implementation/src/UDPEchange.class | Bin 1683 -> 1683 bytes Implementation/src/UDPEchange.java | 17 +++++++++++++++-- 6 files changed, 41 insertions(+), 3 deletions(-) diff --git a/Implementation/src/ChatApp.class b/Implementation/src/ChatApp.class index 2e60ad080ed0f86b37a9a9bda6e067f4e43cfea0..2dda9dbde63263d75684daf44a6ed93d6f4409da 100644 GIT binary patch delta 1131 zcmZWn+fEZv6kVscQ>TsGQ3Sb(+({LJgw&{jB4|qykh|j0j!-BwwKE_Wwc`DPijF8R zKKtSeiGd1eme6%b)en0P3;4BGj7u zQz`a1;YAz6z6o($YEopssPzQ3QHoSelr@#1xYRQyPKmCND37>0wMbANahL5*324U! zjt(a}(WQIL^^R`zaP&IShkkw0JZNvnpc9vHS^sG+v0ZV(3Q;exxQ_Y_h>b&HNQ-w0 zDy~-FnQ6Zi)`E&GAb>0ZqX=@0IWdlqK5q%s$PBiQNm-U60wxeP=&mt1OFd1aqSg=& zyUV&AP@!>5Ix&Uo3`P2oHAAnmeqgus@76i?K<~CyM;VeE6-86Eh#2-t+NcsxlWce@ zU;)oKo*VYOpxPY^g7TCyE^Rrn=~%Pq*ObT%!}9-LZ2>n)TSPe!lGGxPqKr?5-P``@ zEi65nfb5zHOFR49mJe)~jJSNmW0GG>IE5{WCNUK13~G|wj+YD$k|#^khKY>4X*Jwx z3W=&JsT{8v4sT8sHBL4`L!w%aHw?ME97q_9PGfU46uG*1f)`d7k zv6XUk`1GBn)jQ}Lwzl3m3dqmQvoMoZATNd%Px(jWuj2GN&I8^Q%eNSOZ55SO zFTis$&=+ z;x!C;DpoQ49(Hf#Dz2uOf5b52t=zywU&R`fPl%Y%vqCiK)FYc{P4WJPG#}7R*;dMX zXy+Vqe55#^u6YUCXlP%2D1)L>p-NHPilw5c2+Gdg zTe;T6HHj%z68``f8r{41Z!ku^uN(6v-@D%(&N=tIuZ_#w%+G&5egYD#u9=6lO(tnF z1_Ks@T(Dnj3EvRI2A3=@Gh+YHCOm1zEXKKFr}S3$goTT1c0rHz+;Cdl23du`Y_^h( z<%_X%gJ%||a;0*9~AMsJ7WN_bNjt2_+?Qi-nd&Tuud2F}37nK$JjXU1OUVNysh$?3@TTm$1U-R+~ zvrl4|o(87Xr22uY?Q8(}z zJTgcdGNKqXxdnESCv|Yk8wxt$W?fJiuh1(z#p$Woect{hr`jZ9-~b*DO1({J+UXWS z4vnnxo2>@PU&5_8z6w-D3jJuJ6`E_DO-J6-Qss2UuYa#`exM`TS>xiGR2BXcbV+|V z7Ci)ri~e4ov4kWQ`5|5jpF65#=#}Wv=tO(JD9n z+RqwOndk=j@s4%we4wB*x+X9UVogY3)jEGzR)eFGO-lZRRE~+W$HmF$Nm}XSFsb^s X0msx3s=>1O>exBy$a^8vDlh*5KmcoE diff --git a/Implementation/src/ChatApp.java b/Implementation/src/ChatApp.java index a597b76..81239e8 100644 --- a/Implementation/src/ChatApp.java +++ b/Implementation/src/ChatApp.java @@ -46,6 +46,31 @@ public class ChatApp { public void addList(Utilisateur u) { this.actifUsers.add(u); } + + /** + * Supprimer de la liste des utilisateurs actifs 'actifUsers' un certain utilisateur + * + * @param u on va supprimer cet utilisateur dans la liste + */ + public void supprimerList(Utilisateur u) { + this.actifUsers.remove(u); + } + + /** + * Verifie qu'aucun autre utilisateur ne possède le même pseudo + * + * @param u on va supprimer cet utilisateur dans la liste + */ + public Boolean verifierUnicite(String pseudo) { + for(Utilisateur elem: this.actifUsers) + { + if (pseudo.equals( elem.getPseudo() ) ) { + return false ; + } + } + return true; + } + public void afficherListeUtilisateurs() { System.out.println ("Liste des utilisateurs actifs : "); for(Utilisateur elem: this.actifUsers) @@ -59,7 +84,7 @@ 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 = this.me.toString() ; + String broadcastMessage = "Connexion\n" + this.me.toString() ; Integer port = 1234 ; UDPEchange.connexion(broadcastAdress,broadcastMessage, port); } diff --git a/Implementation/src/Runner.class b/Implementation/src/Runner.class index 8933e5d498e746ff495be74e2de622e84538700b..7f2cbdde28d2e007769fbdd8abf737234192e6d9 100644 GIT binary patch delta 37 scmey&^qFac9wTQ60}Dea11Ce+WOGJc{zwLPhA0L`1_=fR1||kc0Gf~m)Bpeg delta 37 scmey&^qFac9wVn40}F#Y11E#WWOGJces2bL1|J4S1_=fR1||kc0F?>_jsO4v diff --git a/Implementation/src/RunnerUDP.class b/Implementation/src/RunnerUDP.class index 1650904088d998c5a10eec3d50793708e98410c6..c4616880be6c34edd0e15bf5d025b574439667c7 100644 GIT binary patch literal 1625 zcmaJ>3wIht7`+pcEZJ-xQfrNmhH9DuiA7UiEw$Q^#-f`x4TRc8+fHBt+rTdF4n5|d z=+E#`>Z#}W1N={VyaQ`7A74`VOn7Ev3w%4 z4e8giw+|nyiWZo@>iM3&CJ;-d%QJ{$#)9o&7LLHoUfcIoxWBb4FjOG$R?DC?d;+I> z$lcNj>-n`@x@;jiOs4Cw@fO~;u;So6Rt3)dN5O=zDQ%j-=A_aGn&^Y~Yf>RMcvC?8Aj|bPq;LNbr&EIR{tq2}Pp5ZOaCshWgl( zP%eExj!#)8Gi_YQriHwNE!+^8-Pc~ji=Y%t)6_&W?jyM)XVa=*X+oRcK<>KwM;j!cM%H2_tuT*iZuJ z`>e+3{9jS0%RKmeP-Xan>-p+dyLqU>QV$>&wkf;0qULby$X4HK7lU?KQQMyRj|I-v zjY^%vs4f}~EMqeWG`l2QJ4)AsYP2wo`!){nwS{lYF+UJkc|q6np9IG$+mmzePpPqeM>$(|v%S31$F} ze!@$MGaW4bhUI&iUto1`F4lWrc!o8X?lpSX5*IsoH@30E@Ac<+AE0qP@o@)Ne!z;s zxJCo>=6aEn8^7YS4z`V@1K04H=<>?I=KdiIeZGe+!dbTB2Hr?;4;#XM@^26+Zy1_cHU21N!v1|EDZA&S^o+J!8^<)jXGBQDX)fq^OJh!wl}#_=RD zYiT(WVmT3UrshJ+l}>FUmY?|#DF-q3!rxq_}{rJ+z$6a=K Ci3?o- diff --git a/Implementation/src/UDPEchange.java b/Implementation/src/UDPEchange.java index f176f9d..4dbf208 100644 --- a/Implementation/src/UDPEchange.java +++ b/Implementation/src/UDPEchange.java @@ -95,7 +95,20 @@ class RunnerUDP implements Runnable { System.out.println("Thread started"); String received = new String(data.getData(), 0, data.getLength()); System.out.println(received); - app.addList(Utilisateur.stringToUtilisateur(received)); - app.afficherListeUtilisateurs(); + String Type = received.split("\n")[0]; + if (Type.equals("Connexion")) { // un utilisateur vient d'arriver sur le reseau + app.addList(Utilisateur.stringToUtilisateur(received.split("\n")[1])); + app.afficherListeUtilisateurs(); + } + if (Type.equals("Reponse Connexion")) { // Un utilisateur te repond suite à ta demande de connexion + app.afficherListeUtilisateurs(); + } + if (Type.equals("Modification Pseudo")) { + app.afficherListeUtilisateurs(); + } + if (Type.equals("Deconnexion")) { + app.supprimerList(Utilisateur.stringToUtilisateur(received.split("\n")[1])); + app.afficherListeUtilisateurs(); + } } }