Class ChatApp
- All Implemented Interfaces:
java.beans.PropertyChangeListener
,java.util.EventListener
public class ChatApp
extends java.lang.Object
implements java.beans.PropertyChangeListener
Controller de l'application. C'est par cette méthode que chaque connexion et chaque session sont entamees Les differents attributs sont: actifsUsers: qui est la liste des utilisateurs actifs actuellement et connus par l'application me: qui est l'instance de la classe Utilisateur représentant l'utilisateur se connectant via cette instance de chatapp main: l'application de l'interface graphique qui s'occupe d'instancier chatapp runnerEcouteTCP: instance de runnerEcouteTCP, Thread permettant de recevoir des demandes de clavardage runnerEcouteUDP: instance de runnerEcouteUDP; Thread permettant de communiquer en UDP pour recevoir les demandes de connexion, deconnexion, changements de pseudo et leurs réponses associées connecte: booleen indiquant si l'on est connecte sur le reseau ou non db: instance permettant de se connecter à la base de donnees centralisee
-
Constructor Summary
Constructors Constructor Description ChatApp(java.lang.String pseudo, java.lang.Integer port)
Constructeur de l'application de chat -
Method Summary
Modifier and Type Method Description void
activerEcouteTCP()
Lance un thread pour ecouter les requetes TCP Informe le pcs que chatapp ecoute les notifications qu'il envoievoid
activerEcouteUDP()
Lance le thread pour receptionner les requetes UDPjava.lang.Boolean
connexion(java.lang.String pseudo)
Methode appelee lors de la connexion de l'utilisateur, va prevenir les autres utlisateurs du reseau de l'arrivee de l'utilisateur sur celui-civoid
deconnexion()
Methode appelee lors de la deconnexion de l'utilisateur.void
demarrerSession(java.lang.String pseudo)
Demarre une session de clavardage avec l'utilisateur dont le pseudo est entre en parametreListUtilisateurs
getActifUsers()
Getterstatic ChatApp
getInstance()
static ChatApp
getInstance(java.lang.String pseudo, java.lang.Integer port)
Methode permettant de créer qu'une seule instance de chatappUtilisateur
getMe()
Getterboolean
isConnecte()
java.lang.Boolean
modifierPseudo(java.lang.String nouveau)
Modification du pseudo de l'utilisateur Envoie en broadcast ses informations utilisateurs et son nouveau pseudovoid
propertyChange(java.beans.PropertyChangeEvent evt)
Handler des differents evenements que chatapp ecoute
-
Constructor Details
-
ChatApp
public ChatApp(java.lang.String pseudo, java.lang.Integer port)Constructeur de l'application de chat
- Parameters:
pseudo
- Pseudo de l'utilisateurport
- Port de communication
-
-
Method Details
-
isConnecte
public boolean isConnecte() -
getInstance
Methode permettant de créer qu'une seule instance de chatapp
- Parameters:
pseudo
- le pseudonyme que l'on souhaite donner à l'utilisateurport
- le port auquel on souhaite receptionner les requêtees UDP- Returns:
- une instance de chatapp
-
getInstance
- Returns:
- recupere l'instance de chatapp qui a ete creee au prealable
-
modifierPseudo
public java.lang.Boolean modifierPseudo(java.lang.String nouveau) throws java.io.IOExceptionModification du pseudo de l'utilisateur Envoie en broadcast ses informations utilisateurs et son nouveau pseudo
- Parameters:
nouveau
- correspond au nouveau pseudo- Returns:
- False si modiferPseudo a echoue, True sinon
- Throws:
java.io.IOException
-
connexion
public java.lang.Boolean connexion(java.lang.String pseudo) throws java.io.IOExceptionMethode appelee lors de la connexion de l'utilisateur, va prevenir les autres utlisateurs du reseau de l'arrivee de l'utilisateur sur celui-ci
- Parameters:
pseudo
- le pseudonyme avec lequel l'utilisateur souhaite se connecter- Returns:
- False si Connexion a echoue, True sinon
- Throws:
java.io.IOException
-
activerEcouteTCP
public void activerEcouteTCP()Lance un thread pour ecouter les requetes TCP Informe le pcs que chatapp ecoute les notifications qu'il envoie
-
demarrerSession
public void demarrerSession(java.lang.String pseudo)Demarre une session de clavardage avec l'utilisateur dont le pseudo est entre en parametre
- Parameters:
pseudo
- le pseudo de l'utilisateur avec lequel on souhaite communiquer
-
activerEcouteUDP
public void activerEcouteUDP()Lance le thread pour receptionner les requetes UDP
-
deconnexion
public void deconnexion() throws java.io.IOExceptionMethode appelee lors de la deconnexion de l'utilisateur. Il va prevenir les utilisateurs du reseau de son depart.
- Throws:
java.io.IOException
-
getMe
Getter- Returns:
- Utilisateur associee a ChatApp
-
getActifUsers
Getter- Returns:
- Liste des utilisateurs actifs associee a ChatApp
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent evt)Handler des differents evenements que chatapp ecoute
- Specified by:
propertyChange
in interfacejava.beans.PropertyChangeListener
- Parameters:
evt
- l'evenement qui a ete indique par le pcs
-