Class SessionClavardage
- All Implemented Interfaces:
java.lang.Runnable
public class SessionClavardage
extends java.lang.Thread
Classe représentant une session de clavrdage. La classe hérite de la classe Thread et dispose de 2 constructeurs selon que l'on initie une demande de session ou que l'on recoit une demande. Elle possède en attribut: link: la socket associée à la session de clavardage u2: l'utilisateur avec lequel on communique out: le flux de donnees sortant in: le flux de donnees entrant pcs: Le PropertyChangeSupport permettant d'envoyer les notifications de MessageRecu et de FindeSession derniersMsg: la liste temporaire des derniers messages recus
-
Nested Class Summary
-
Field Summary
-
Constructor Summary
Constructors Constructor Description SessionClavardage(java.net.Socket link, ChatApp app)
Ce constructeur crée une session de clavardage quand on recoit une requeteSessionClavardage(Utilisateur u2, ChatApp app)
Le constructeur associe a l'envoi d'une requete TCP, lorsque que l'on veut initier une session de clavardage avec un utilisateur connecte -
Method Summary
Modifier and Type Method Description void
addPropertyChangeListener(java.beans.PropertyChangeListener pcl)
Permet aux PropertyChangeListener de s'abonner aux notifications des evenementsvoid
arretSession()
Methode permettant d'arreter cette session de clavardage et de prevenir l'autre utilisateur de la fin de la sessionvoid
envoiMsg(java.lang.String msg, Utilisateur source)
Methode transformant prenant un string pour le transmettre sous la forme d'un message horodate a l'utilisateur distantChatApp
getApp()
GetterMessageHorodate
getDernierMsg()
Methode permettant de recuperer le dernier message recu qui a ete mis dans la liste des messages recus.java.io.ObjectInputStream
getIn()
Getterjava.net.Socket
getLink()
java.io.ObjectOutputStream
getOut()
Getterint
getSessionID()
GetterUtilisateur
getU2()
Gettervoid
initierSession(Utilisateur u1)
Permet d'envoyer le message de début de session avec l'utilisateur entré en paramètrevoid
run()
Methode lancee par le thread, permet de receptionner les messages horodates recus et d'agir en conséquence selon le type de message recuvoid
setApp(ChatApp app)
Settervoid
setIn(java.io.ObjectInputStream in)
Settervoid
setLink(java.net.Socket link)
Settervoid
setOut(java.io.ObjectOutputStream out)
Settervoid
setU2(Utilisateur u2)
SetterMethods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
-
Constructor Details
-
SessionClavardage
Ce constructeur crée une session de clavardage quand on recoit une requete
- Parameters:
link
- la socket associee a la requete TCP que l'on a recuapp
- l'instance de chatapp
-
SessionClavardage
Le constructeur associe a l'envoi d'une requete TCP, lorsque que l'on veut initier une session de clavardage avec un utilisateur connecte
- Parameters:
u2
- l'utilisateur avec qui l'on souhaite démarrer une session de clavardageapp
- l'instance de chataap associee
-
-
Method Details
-
initierSession
Permet d'envoyer le message de début de session avec l'utilisateur entré en paramètre
- Parameters:
u1
- l'utilisateur avec lequel on souhaite communiquer
-
addPropertyChangeListener
public void addPropertyChangeListener(java.beans.PropertyChangeListener pcl)Permet aux PropertyChangeListener de s'abonner aux notifications des evenements- Parameters:
pcl
- le PropertyListener qui souhaite s'abonner sur ce PropertyChangeSupport
-
arretSession
public void arretSession()Methode permettant d'arreter cette session de clavardage et de prevenir l'autre utilisateur de la fin de la session
-
envoiMsg
Methode transformant prenant un string pour le transmettre sous la forme d'un message horodate a l'utilisateur distant- Parameters:
msg
- le texte du message a envoyer
-
getDernierMsg
Methode permettant de recuperer le dernier message recu qui a ete mis dans la liste des messages recus. Utilisee par l'interface graphique qui a ete avertie grace au PropertyChangeSupport
- Returns:
- le dernier message horodate recu
-
run
public void run()Methode lancee par le thread, permet de receptionner les messages horodates recus et d'agir en conséquence selon le type de message recu
- Specified by:
run
in interfacejava.lang.Runnable
- Overrides:
run
in classjava.lang.Thread
-
getOut
public java.io.ObjectOutputStream getOut()Getter- Returns:
- le flux d'ecriture des messages sortant
-
setOut
public void setOut(java.io.ObjectOutputStream out)Setter- Parameters:
out
- le flux d'ecriture des messages sortant
-
getIn
public java.io.ObjectInputStream getIn()Getter- Returns:
- le flux de lecture des messages entrant
-
setIn
public void setIn(java.io.ObjectInputStream in)Setter- Parameters:
in
- le flux de lecture des messages entrant
-
setLink
public void setLink(java.net.Socket link)Setter- Parameters:
link
- la Socket asscciee a la connexion TCP et donc a la session
-
getApp
Getter- Returns:
- l'instance de chatApp
-
setApp
Setter- Parameters:
app
- l'instance de chatApp
-
getU2
Getter- Returns:
- l'utilisateur avec lequel on communique
-
setU2
Setter- Parameters:
u2
- l'utilisateur avec lequel on communique
-
getSessionID
public int getSessionID()Getter- Returns:
- SessionID
-
getLink
public java.net.Socket getLink()
-