Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.usthb.modeles;
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.net.ServerSocket;
- import java.net.Socket;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.HashMap;
- public class ServeurMiniFacebook {
- //TOUS LES ABONNES
- private static HashMap<String,Abonne> baseAbonnes= new HashMap<String,Abonne>(); //la cl? est le username de l'abonn?
- //TOUS LES GROUPES
- private static HashMap<String,Groupe> baseGroupes= new HashMap<String,Groupe>(); //la cl? est le nom du groupe
- //TOUS LES POSTS
- private static HashMap<Integer,Post> basePosts= new HashMap<Integer,Post>();//la clé est la le codePost
- //methode qui retourne l'abonné à partir d'un username
- public static Abonne getAbonne(String username) {
- return baseAbonnes.get(username);
- }
- //methode qui retourne le groupe à partir d'un groupName
- public static Groupe getGroupe(String groupName) {
- return baseGroupes.get(groupName);
- }
- //methode qui retourne le poste à partir du code post
- public static Post getPost(Integer codePost) {
- return basePosts.get(codePost);
- }
- //SOME TESTS
- public static boolean userExiste(String username) {
- return baseAbonnes.containsKey(username);
- }
- public static boolean groupeExiste(String groupName) {
- return baseGroupes.containsKey(groupName);
- }
- public static boolean postExiste(int codePost) {
- return baseGroupes.containsKey(codePost);
- }
- /***************REQUETES*****************/
- /************ABONNES***********/
- private static Abonne inscrireAbonne(Abonne abo){ //MAJ : ENVOYER PARAM ABONNE ET LE CREER ICI
- baseAbonnes.put(abo.getUsername(),abo);
- return abo;
- }
- private static void supprimerAbonne(String user) {//d?sactiver le compte
- // TROUVER SOLUTION
- // supprimerTousLesAmis(abo);
- baseAbonnes.remove(user);
- }
- private static boolean estEnLigne(String username){
- return getAbonne(username).isOnline();
- }
- private static void quitterGroupe(String user,String grp){
- Groupe g = getGroupe(grp);
- if(g==null) return;
- g.supprimerMembre(user);
- getAbonne(user).quitterGroupe(grp);
- if(g.nbrAdmins()==0){
- for(String s:g.getMembres().keySet()){
- g.ajouterAdmin(s); //SI IL N'Y A PLUS D'ADMINS ALORS AJOUTER UN ADMIN PARMIS LES MEMBRES
- return;
- }
- }
- }
- private static void rejoindreGroupe(String user,String grp){
- Groupe g=getGroupe(grp);
- if(g==null) return;
- g.rejoindre(user);
- if(g.nbrAdmins()!=0){
- ArrayList<String> admins = g.getAdmins();
- for(String a:admins){
- notifier(getAbonne(a),user,grp,"demande",grp);
- }
- }
- else{
- accepterMembre(user,grp);
- g.ajouterAdmin(user);
- }
- }
- private static void accepterMembre(String user,String grp){
- Abonne abo = getAbonne(user);
- Groupe g=getGroupe(grp);
- if(g==null) return;
- g.ajouterMembre(abo);
- abo.ajouterGroupe(g);
- notifier(abo, grp, " votre demande.", "groupe",grp);
- }
- private static byte etatMembre(String user,String grp){
- Groupe g=getGroupe(grp);
- if(g==null) return 4;
- if(g.adminExiste(user)) return 3;
- if(g.membreExiste(user)) return 2;
- if(g.demandeEnvoyée(user)) return 1;
- return 0;
- }
- private static void ajouter(String user,String ami,String message) {//ajouter qlqn
- Abonne abo=getAbonne(ami);
- if(abo!=null){
- abo.ajouterInvitation(new Invitation(user,message));
- }
- }
- private static void refuserInvitation(String user1,int indice){
- getAbonne(user1).refuserInvitation(indice);
- }
- private static void accepterInvitation(String user1,int indice){
- Abonne abo1=getAbonne(user1),
- abo2=getAbonne(abo1.accepterInvitation(indice));
- if(abo2==null) return;
- abo1.ajouterAmi(abo2);
- abo2.ajouterAmi(abo1);
- notifier(abo2,user1," votre invitation.","invitation",user1);
- }
- private static void accepterInvitation(String user1,String user2){
- Abonne abo1=getAbonne(user1),
- abo2=getAbonne(user2);
- if(abo2==null) return;
- abo1.accepterInvitation(user2);
- abo1.ajouterAmi(abo2);
- abo2.ajouterAmi(abo1);
- notifier(abo2,user1," votre invitation.","invitation",user1);
- }
- private static void supprimerAmi(String user,String ami){//supprimer qlqn de sa liste d'ami
- Abonne abo1=getAbonne(user);
- Abonne abo2=getAbonne(ami);
- abo1.supprimerAmi(ami);
- abo2.supprimerAmi(user);
- ArrayList<Integer> actu= abo1.getActu();
- actu.removeAll(abo2.getMur());
- actu = abo2.getActu();
- actu.removeAll(abo1.getMur());
- }
- private static void supprimerTousLesAmis(String user){
- getAbonne(user).supprimerTousLesAmis();
- }
- /************GROUPES************/
- private static Groupe creerGroupe(String createur,String groupName){
- Abonne abo=getAbonne(createur);
- Groupe grp=new Groupe(abo,groupName);
- baseGroupes.put(groupName, grp);
- abo.ajouterGroupe(grp);
- return grp;
- }
- private static void supprimerGroupe(String grp) {
- baseGroupes.remove(grp);
- }
- /*************POSTES*************/
- private static Post creerPost(String poster,String contenu, String visibilite){
- Post p=new Post(poster, contenu, visibilite);
- basePosts.put(p.getCodePost(), p);
- return p;
- }
- //connexion & déconnexion
- public static boolean checkPassword(String user,String password){
- return getAbonne(user).getPassword().equals(password);
- }
- private static void seConnecter(String user) {
- getAbonne(user).setOnline(true);
- }
- private static void seDeconnecter(String user) {
- getAbonne(user).setOnline(false);
- }
- private static void notifier(Abonne recepteur ,String emetteur,String information,String type,Object info){
- recepteur.ajouterNotification(new Notification(emetteur,new StringBuilder(information),type,info));
- }
- private static void alerterAmis(Abonne abo,Integer codePost){
- HashMap<String,Abonne> listeAmis = abo.getListeAmis();
- for(Abonne recepteur: listeAmis.values()) {
- notifier(recepteur,abo.getUsername()," un nouveau statut.","publication",codePost);
- }
- }
- private static void alerterMembres(Groupe grp,String user,Integer codePost){
- HashMap<String,Abonne> membres = grp.getMembres();
- for(Abonne recepteur: membres.values()) {
- if(!user.equals(recepteur.getUsername()))
- notifier(recepteur,user," un nouveau statut dans "+grp.getGroupName()+".","publication",codePost);
- }
- }
- //PUBLIER SUR MUR
- private static int publier(String user,String contenu,String visibilite) {
- Abonne abo=getAbonne(user);
- Post p=creerPost(user,contenu,visibilite);
- int code=p.getCodePost();
- abo.ajouterPost(code); //ajouter le post au mur de celui qui l'a post?
- abo.ajouterActu(code);
- if(!visibilite.toLowerCase().equals("privé")) {
- alerterAmis(abo,code); //alerter les amis d'abo de la publication d'un certain contenu
- abo.ajouterActuAmis(p.getCodePost());
- }
- return p.getCodePost();
- }
- //PUBLIER DANS UN GROUPE
- private static void publier(String user,String contenu, String grp,String visibilite) {//publier dans groupe
- Groupe g=getGroupe(grp);
- if(g==null) return;
- Post p =creerPost(user," a publié dans "
- +grp+":\n"+contenu,visibilite);
- g.ajouterPost(p.getCodePost());
- alerterMembres(g,user,p.getCodePost()); //alerter les membres du groupe
- g.ajouterActuMembres(p.getCodePost());
- }
- //METHODES EPINGLER (EN CHOISIR 2)
- private static void epingler(Post p) {
- p.setEpinglee(true);
- //ça peut servir à l'afficher en premier
- }
- private static void desepingler(Post p) {
- p.setEpinglee(false);
- }
- private static ArrayList<Post> rechercher(String chercheur,String recherche) {
- Abonne abo1=getAbonne(chercheur),
- abo2=getAbonne(recherche);
- ArrayList<Integer> codes= abo2.getMur();
- ArrayList<Post> mur= new ArrayList<>();
- Post p;
- Visibilite v= Visibilite.publique;
- // POUR SAVOIR QUI RECHERCHE QUI POUR POUVOIR CONNAITRE LA VISIBILITE ACCORDEE
- if(chercheur.equals(recherche)) v= Visibilite.privé;
- else if(abo2.sontAmis(chercheur)) v= Visibilite.amis;
- else if(abo2.ontAmisCommuns(abo1)) v=Visibilite.listeamis;
- int k=0;
- for(int i:codes){
- p=getPost(i);
- if(p!=null && p.visible(v)){
- if(!p.isEpinglee())
- mur.add(k,p);
- else{
- mur.add(0,p);
- k++;
- }
- }
- }
- return mur;
- }
- private static ArrayList<Post> rechercherGroupe(String user,String recherche){
- Groupe grp = getGroupe(recherche);
- ArrayList<Post> mur = new ArrayList<Post>();
- if(grp==null) return mur;
- ArrayList<Integer> codes = grp.getMur();
- Post p;
- Visibilite v;
- if(grp.membreExiste(user))
- v= Visibilite.groupe;
- else
- v= Visibilite.publique;
- int k=0;
- for(int i:codes){
- p=getPost(i);
- if(p!=null && p.visible(v)){
- if(!p.isEpinglee())
- mur.add(k,p);
- else{
- mur.add(0,p);
- k++;
- }
- }
- }
- return mur;
- }
- public static void reagir(String user,Reaction react,int codePost) {//abo => abonné ayant r?agi, poster=>abonné ayant posté le post p
- Post p = getPost(codePost);
- if(p==null) return;
- boolean reagis=p.aReagis(user);
- if(reagis && p.memeReaction(user,react))
- p.supprimerReaction(user); //supprimer la réaction de l'ensemble des réactions au post
- else{
- p.ajouterReaction(user,react);
- if(!reagis && !user.equals(p.getPoster()))
- notifier(getAbonne(p.getPoster()),user," à votre publication.","reaction",Integer.valueOf(codePost));//alerter le poster seulement de la réaction d'abo à son post
- }
- }
- //REAGIR A UN COMMENTAIRE
- private static void reagir(String user,Reaction react,int codePost,int indice) {
- Post p = getPost(codePost);
- if(p==null) return;
- Commentaire c = p.getComment(indice);
- if(c==null) return;
- boolean reagis=c.aReagis(user);
- if(reagis && c.memeReaction(user,react))
- p.supprimerReaction(user); //supprimer la réaction de l'ensemble des réactions au commentaire
- else{
- c.ajouterReaction(user,react);
- if(!reagis && !user.equals(c.getUser()))
- notifier(getAbonne(c.getUser()),user," à votre commentaire.","reaction",Integer.valueOf(codePost));//alerter le poster seulement de la réaction d'abo à son post
- }
- }
- //METHODES COMMENTAIRES
- private static void commenter(String user,int codePost,String comment) { //abo => abonn? qui va commenter, poster=>abonn? qui a post? le post p
- Post p=getPost(codePost);
- if(p==null) return;
- p.ajouterCommentaire(new Commentaire(user,new StringBuilder(comment),codePost));
- //alerter le poster si ce n'est pas lui qui a commenté a publication
- if(!user.equals(p.getPoster()))
- notifier(getAbonne(p.getPoster()),user," votre publication.","commentaire",Integer.valueOf(codePost));
- }
- //supprimer un commentaire
- private static void supprimerCommentaire(int codePost,int indice) { //commentaire de user
- Post p = getPost(codePost);
- if(p==null) return;
- p.supprimerCommentaire(indice);
- }
- //partager un post
- private static void partager(String user,int codePost, String visibilite) {
- Post p = getPost(codePost);
- if(p==null) return;
- String user2=p.getPoster();
- int code;
- if(user.equals(user2))
- code = publier(user,"a partagé sa propre publication\n"+p.getContenu(),visibilite);
- else{
- code = publier(user,"a partagé la publication de "
- +user2+":\n"+p.getContenu(),visibilite);
- notifier(getAbonne(user2),user," votre publication.","partage",Integer.valueOf(code));
- }
- }
- private static void lireNotification(String user,int indice){
- ArrayList<Notification> notifs= getAbonne(user).getNotifications();
- notifs.get(indice).setEtat(true);
- }
- private static ArrayList<Post> filActu(String user){
- Abonne abo=getAbonne(user);
- ArrayList<Integer> codes = abo.getActu();
- ArrayList<Post> actu = new ArrayList<Post>();
- Post p;
- for(int i:codes){
- p=getPost(i);
- if(p!=null)
- actu.add(0,p);
- }
- return actu;
- }
- private static void supprimerPost(int codePost){
- Abonne abo= getAbonne(getPost(codePost).getPoster());
- abo.supprimerPost(codePost);
- abo.supprimerActuAmis(codePost);
- basePosts.remove(codePost);
- }
- private static byte etatAmis(String user,String ami){
- Abonne abo=getAbonne(user);
- Abonne abo2=getAbonne(ami);
- boolean check1=abo.invitationEnvoyee(ami),
- check2=abo2.invitationEnvoyee(user);
- if(abo2.sontAmis(user))
- return 3;
- else if(check1||check2 ){
- if(check1)
- return 1;
- else
- return 2;
- }
- else
- return 0;
- }
- private static ArrayList<String> search(String recherche){
- ArrayList<String> result= new ArrayList<>();
- recherche=recherche.replaceAll("\\s","").toLowerCase();
- for(Abonne abo:baseAbonnes.values()){
- if(abo.isNamed(recherche))
- result.add(abo.toString());
- }
- for(Groupe grp:baseGroupes.values()){
- if(grp.isNamed(recherche))
- result.add(grp.getGroupName()+"\n*\n*");
- }
- Collections.sort(result, String.CASE_INSENSITIVE_ORDER);
- return result;
- }
- private static void refuserMembre(String user,String grp){
- Groupe g=getGroupe(grp);
- if(g==null) return;
- g.refuserMembre(user);
- }
- ////////////////////////////LE MAIN////////////////////////////////////////////////////
- public static void main(String args[]) throws IOException, ClassNotFoundException{
- //BEGIN OF DECLARATION
- Abonne sfn= new Abonne("Zeghoud","Sofiane","20/05/1998","homme","sofman","imene","djami3a","info","isil");
- Abonne imn= new Abonne("Kerboua","Imene","30/05/1999","femme","minette","sofiane","","","huehue");
- Abonne azdn= new Abonne("Bouchtout","Azzeddine","20/04/1995","Homme","PapiAzzou","haha","etudiant","info","universitaire");
- Abonne hda = new Abonne("Hassani","Hadda","20/04/1998","femMe","Hino","sofiane<3","etudiante","info","universitaire");
- /*Abonne ada = new Abonne("Macefeuk","Adda","20/04/1996","HoMme","toeflboi69","haha","etudiant","info","universitaire");
- Abonne scra= new Abonne("Laliam","Secoura","20/04/2000","femMe","sucrette","sofiane<3","etudiante","info","universitaire");
- */
- inscrireAbonne(sfn);
- inscrireAbonne(imn);
- inscrireAbonne(hda);
- inscrireAbonne(azdn);
- ajouter("sofman","minette","cc cv");
- ajouter("PapiAzzou","minette","hello you");
- ajouter("Hino","minette","slt sccept pliz");
- ajouter("PapiAzzou","sofman","bla bla");
- accepterInvitation("minette", 0);
- publier("minette","Post erreur","publique");
- publier("minette","Ceci est pour everybody !","publique");
- publier("minette","Ceci est pour les amis de mes amis","listeamis");
- publier("sofman","Hey there!","publique");
- publier("sofman","I'm watchin' a movie XD","amis");
- publier("minette","Ceci est pour mes amis","amis");
- publier("minette","blabla","amis");
- publier("minette","oh","amis");
- publier("minette","shit","amis");
- publier("minette","fuuuu","amis");
- publier("minette","This is le poste le plus loooooooooooooooooooooooooooooooooooooooooooooooong !","amis");
- publier("minette","Ceci est pour moi-même","privé");
- publier("PapiAzzou","Hey there!","publique");
- commenter("sofman",0,"nice shit");
- commenter("minette",0,"haha");
- creerGroupe("sofman","IQVAYLIYEN IHURIEN");
- creerGroupe("minette","manaklosh smakla te3 berra club");
- publier("sofman", "heheh","IQVAYLIYEN IHURIEN","publique");
- publier("sofman", "hmm","IQVAYLIYEN IHURIEN","groupe");
- //END OF DECLARATION
- ArrayList<String> l = new ArrayList<String>();
- l.add("lala");
- l.remove("heh");
- System.out.println(l);
- ServerSocket socket=null;
- Socket serveur=null;
- ObjectInputStream in=null;
- ObjectOutputStream out=null;
- String username,password,ami,message,visibilite,groupe;
- ArrayList<String> result;
- Abonne abo,abo2;
- Groupe grp;
- Post p;
- int indice,code;
- Integer ind;
- boolean check;
- while(true){
- try{
- socket=new ServerSocket(2018);
- serveur = socket.accept();
- out=new ObjectOutputStream(serveur.getOutputStream());
- in=new ObjectInputStream(serveur.getInputStream());
- byte choix;
- choix = in.readByte();
- switch(choix){
- case 1 : //LA CONNEXION
- username=(String)in.readObject();
- check=userExiste(username);
- out.writeBoolean(check);
- out.flush();
- if(!check) break;
- password=(String) in.readObject();
- check=checkPassword(username,password);
- out.writeBoolean(check);
- out.flush();
- if(!check) break;
- seConnecter(username);
- break;
- case 2: //L'INSCRIPTION
- username=(String) in.readObject();
- check = !userExiste(username);
- out.writeBoolean(check);
- out.flush();
- if(!check) break;
- abo= new Abonne((String)in.readObject(),
- (String)in.readObject(),
- (String)in.readObject(),
- (String)in.readObject(),
- username,
- (String)in.readObject(),
- (String)in.readObject(),
- (String)in.readObject(),
- (String)in.readObject());
- inscrireAbonne(abo);
- break;
- case 3: //LA DECONNEXION
- username=(String) in.readObject();
- seDeconnecter(username);
- break;
- case 4: //ENVOYER LA LISTE DE NOTIFICATIONS
- username=(String) in.readObject();
- out.writeObject(getAbonne(username).getNotifications());
- out.flush();
- break;
- case 5: //ENVOYER LA LISTE D'INVITATIONS
- username=(String) in.readObject();
- out.writeObject(getAbonne(username).getInvitations());
- out.flush();
- break;
- case 6: //AJOUTER
- username=(String) in.readObject();
- ami=(String) in.readObject();
- message=(String) in.readObject();
- switch(etatAmis(username,ami)){
- case 0:
- ajouter(username,ami,message);
- break;
- case 1:
- accepterInvitation(username,ami);
- break;
- case 2:
- getAbonne(ami).annulerInvitation(username);
- break;
- case 3:
- supprimerAmi(username,ami);
- break;
- }
- break;
- case 7: //LIRE UNE NOTIFICATION
- username=(String) in.readObject();
- indice=in.read();
- lireNotification(username,indice);
- break;
- case 8: //ACCEPTER INVITATION
- username=(String) in.readObject();
- indice= in.read();
- accepterInvitation(username,indice);
- break;
- case 9: //REFUSER INVITATION
- username=(String) in.readObject();
- indice=in.read();
- refuserInvitation(username,indice);
- break;
- case 10: //ENVOYER LA LISTE DES POSTS DU FIL D'ACTUALITES
- username=(String) in.readObject();
- ArrayList<Post> posts=filActu(username);
- out.writeObject(posts);
- out.flush();
- break;
- case 11: //REAGIR A UN POST OU A UN COMMENTAIRE
- username=(String) in.readObject();
- Reaction react=(Reaction) in.readObject();
- code=in.read();
- ind=(Integer) in.readObject();
- if(ind==null)
- reagir(username, react, code);
- else
- reagir(username, react, code, ind);
- break;
- case 12: //ENVOYER LA LISTE DES POSTS DU MUR DE QUELQU'UN
- username=(String) in.readObject();
- ami=(String) in.readObject();
- ArrayList<Post> mur=rechercher(username,ami);
- out.writeObject(mur);
- out.flush();
- break;
- case 13://EPINGLER UN POST
- indice=in.read(); //indice=codePost
- p=getPost(indice);
- if(p==null) break;
- if(!p.isEpinglee())
- epingler(p);
- else
- desepingler(p);
- System.out.println(getPost(indice).isEpinglee());
- break;
- case 14://SUPPRIMER UN POST
- indice=in.read(); //indice=codePost
- supprimerPost(indice);
- break;
- case 15://MASQUER UN POST
- username= (String) in.readObject();
- indice = in.read();
- getAbonne(username).supprimerActu(indice);
- break;
- case 16: //CE QUE AFFICHE LE BOUTON AJOUTER
- username= (String) in.readObject();
- ami= (String) in.readObject();
- if(in.readBoolean())
- out.writeByte(etatMembre(username,ami));
- else
- out.writeByte(etatAmis(username,ami));
- out.flush();
- break;
- case 17://PUBLIER SUR LE MUR
- username= (String) in.readObject();
- message=(String) in.readObject();
- visibilite=(String) in.readObject();
- publier(username, message, visibilite);
- break;
- case 18: //CREER UN GROUPE
- username= (String) in.readObject();
- groupe= (String) in.readObject();
- check=!groupeExiste(groupe);
- out.writeBoolean(check);
- out.flush();
- if(!check) break;
- creerGroupe(username,groupe);
- break;
- case 19: //REJOINDRE OU QUITTER UN GROUPE
- username= (String) in.readObject();
- groupe= (String) in.readObject();
- System.out.println("2");
- switch(etatMembre(username,groupe)){
- case 0:
- rejoindreGroupe(username, groupe);
- break;
- case 1:
- getGroupe(groupe).supprimerDemande(username);
- break;
- case 2:
- quitterGroupe(username, groupe);
- System.out.println("5");
- break;
- case 3:
- quitterGroupe(username, groupe);
- break;
- }
- break;
- case 20: //VERIFIER SI UN MEMBRE EXISTE DANS UN GROUPE
- break;
- case 21: //ENVOYER LES INFOS D'UN MEMBRE
- ami= (String) in.readObject();
- abo= getAbonne(ami);
- out.writeObject(abo.getInfos());
- out.flush();
- break;
- case 22: //ENVOYER LA LISTE D'AMIS
- username=(String) in.readObject();
- out.writeObject(getAbonne(username).getAmis());
- out.flush();
- break;
- case 23: //AJOUTER UN COMMENTAIRE A UN POSTE
- username=(String) in.readObject();
- indice=in.read();
- message=(String)in.readObject();
- commenter(username,indice,message);
- break;
- case 24: //ENVOYER LA LISTE DES COMMENTAIRES
- Integer i=(Integer) in.readObject();
- ArrayList<Commentaire> comments=getPost(i).getComments();
- out.writeObject(comments);
- out.flush();
- break;
- case 25: //ENVOYER LES MEMBRES D'UN GROUPE
- groupe= (String) in.readObject();
- result=new ArrayList<String>();
- for(Abonne a:getGroupe(groupe).getMembres().values()){
- result.add(a.toString());
- }
- out.writeObject(result);
- out.flush();
- break;
- case 26: //AFFICHER POSTES D'UN GROUPE
- username= (String) in.readObject();
- groupe= (String) in.readObject();
- out.writeObject(rechercherGroupe(username, groupe));
- out.flush();
- break;
- case 27: //SUPPRIMER COMMENTAIRERS
- code= in.read();
- indice=in.read();
- supprimerCommentaire(code,indice);
- break;
- case 28: //FAIRE UNE RECHERCHE
- message= (String) in.readObject();
- out.writeObject(search(message));
- out.flush();
- break;
- case 29: //ACCEPTER UN MEMBRE
- username= (String) in.readObject();
- groupe= (String) in.readObject();
- accepterMembre(username,groupe);
- break;
- case 30: //AJOUTER UN ADMIN
- username= (String) in.readObject();
- groupe= (String) in.readObject();
- getGroupe(groupe).ajouterAdmin(username);
- break;
- case 31: //AVOIRE LES INFOS D'UN GROUPE
- groupe=(String) in.readObject();
- out.writeObject(getGroupe(groupe).getInfos());
- out.flush();
- break;
- case 32: //ENVOYER LISTE DEMANDES:
- groupe=(String) in.readObject();
- result =new ArrayList<String>();
- ArrayList<String> liste= getGroupe(groupe).getListeAttente();
- for(String s: liste){
- result.add(getAbonne(s).toString());
- }
- out.writeObject(result);
- out.flush();
- break;
- case 33 : //PARTAGER UN POST
- username= (String) in.readObject();
- code=in.read();
- message=(String) in.readObject();
- partager(username, code, message);
- break;
- case 34 : //PUBLIER DANS UN GROUPE
- username= (String) in.readObject();
- message=(String) in.readObject();
- visibilite=(String) in.readObject();
- groupe=(String) in.readObject();
- publier(username,message, groupe, visibilite);
- break;
- case 35 : //ENVOYER LA LISTE DES GROUPES
- username=(String) in.readObject();
- out.writeObject(getAbonne(username).getGroupes());
- out.flush();
- break;
- case 36: //VERIFIER SI UN ABONNE EST EN LIGNE
- username=(String)in.readObject();
- out.writeBoolean(estEnLigne(username));
- out.flush();
- break;
- case 37: //REFUSER MEMBRE GROUPE
- username= (String) in.readObject();
- groupe= (String) in.readObject();
- refuserMembre(username,groupe);
- break;
- case 38: //ENVOYER UN SEUL POST
- code= in.read();
- out.writeObject(getPost(code));
- out.flush();
- break;
- }
- }catch(IOException e){
- System.out.println(e+" Impossible de se connecter");
- }finally{
- in.close();
- out.close();
- socket.close();
- serveur.close();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement