比较提交
1 提交
作者 | SHA1 | 提交日期 | |
---|---|---|---|
|
67cf12b48f |
共有 4 个文件被更改,包括 90 次插入 和 33 次删除
|
@ -1,7 +1,14 @@
|
||||||
|
chatapp/Model/MessageHorodate.java
|
||||||
|
chatapp.Model.MessageHorodate
|
||||||
|
chatapp/Model/ListUtilisateurs.java
|
||||||
|
chatapp.Model.ListUtilisateurs
|
||||||
|
chatapp/Model/Utilisateur.java
|
||||||
|
chatapp.Model.Utilisateur
|
||||||
chatapp/Protocol/RunnerEcouteTCP.java
|
chatapp/Protocol/RunnerEcouteTCP.java
|
||||||
chatapp.Protocol.RunnerEcouteTCP
|
chatapp.Protocol.RunnerEcouteTCP
|
||||||
chatapp/View/DemarrerSession.java
|
chatapp/View/FenetreSession.java
|
||||||
chatapp.View.DemarrerSession
|
chatapp.View.FenetreSession
|
||||||
|
chatapp.View.FenetreSession$1
|
||||||
chatapp/Controller/ChatApp.java
|
chatapp/Controller/ChatApp.java
|
||||||
chatapp.Controller.ChatApp
|
chatapp.Controller.ChatApp
|
||||||
chatapp/Model/DataBase.java
|
chatapp/Model/DataBase.java
|
||||||
|
@ -12,28 +19,21 @@ chatapp/Protocol/RunnerEcouteUDP.java
|
||||||
chatapp.Protocol.RunnerEcouteUDP
|
chatapp.Protocol.RunnerEcouteUDP
|
||||||
chatapp/Launcher.java
|
chatapp/Launcher.java
|
||||||
chatapp.Launcher
|
chatapp.Launcher
|
||||||
chatapp/Model/ListUtilisateurs.java
|
|
||||||
chatapp.Model.ListUtilisateurs
|
|
||||||
chatapp/Protocol/UDPEchange.java
|
chatapp/Protocol/UDPEchange.java
|
||||||
chatapp.Protocol.RunnerUDP
|
chatapp.Protocol.RunnerUDP
|
||||||
chatapp.Protocol.UDPEchange
|
chatapp.Protocol.UDPEchange
|
||||||
chatapp/Model/MessageHorodate.java
|
|
||||||
chatapp.Model.MessageHorodate
|
|
||||||
chatapp/Main.java
|
chatapp/Main.java
|
||||||
chatapp.Main
|
chatapp.Main
|
||||||
chatapp/View/View_Menu.java
|
chatapp/View/Clavardage.java
|
||||||
chatapp.View.View_Menu
|
chatapp.View.Clavardage
|
||||||
|
chatapp.View.Clavardage$1
|
||||||
chatapp/Protocol/SessionClavardage.java
|
chatapp/Protocol/SessionClavardage.java
|
||||||
chatapp.Protocol.SessionClavardage
|
chatapp.Protocol.SessionClavardage
|
||||||
chatapp/View/ConnexionScreen.java
|
chatapp/View/ConnexionScreen.java
|
||||||
chatapp.View.ConnexionScreen
|
chatapp.View.ConnexionScreen
|
||||||
chatapp/View/View_Utilisateurs.java
|
chatapp/View/View_Utilisateurs.java
|
||||||
chatapp.View.View_Utilisateurs
|
chatapp.View.View_Utilisateurs
|
||||||
chatapp/Model/Utilisateur.java
|
chatapp/View/View_Menu.java
|
||||||
chatapp.Model.Utilisateur
|
chatapp.View.View_Menu
|
||||||
chatapp/View/FenetreSession.java
|
chatapp/View/DemarrerSession.java
|
||||||
chatapp.View.FenetreSession
|
chatapp.View.DemarrerSession
|
||||||
chatapp.View.FenetreSession$1
|
|
||||||
chatapp/View/Clavardage.java
|
|
||||||
chatapp.View.Clavardage
|
|
||||||
chatapp.View.Clavardage$1
|
|
||||||
|
|
|
@ -50,7 +50,7 @@ public class ChatApp implements PropertyChangeListener {
|
||||||
this.actifUsers.addList(getMe());
|
this.actifUsers.addList(getMe());
|
||||||
|
|
||||||
this.main = main;
|
this.main = main;
|
||||||
this.db= DataBase.getInstance();
|
//this.db= DataBase.getInstance();
|
||||||
this.connecte=false;
|
this.connecte=false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -112,7 +112,7 @@ public class ChatApp implements PropertyChangeListener {
|
||||||
//-------Change son propre nom d'utilisateur-------//
|
//-------Change son propre nom d'utilisateur-------//
|
||||||
this.getActifUsers().modifierList(this.getMe().getPseudo(), nouveau);
|
this.getActifUsers().modifierList(this.getMe().getPseudo(), nouveau);
|
||||||
this.getMe().setPseudo(nouveau);
|
this.getMe().setPseudo(nouveau);
|
||||||
db.majPseudo(this.me.getId(),nouveau);
|
//db.majPseudo(this.me.getId(),nouveau);
|
||||||
System.out.println("Changement pseudo accepte, nouvelle liste des utilisateurs actifs:");
|
System.out.println("Changement pseudo accepte, nouvelle liste des utilisateurs actifs:");
|
||||||
this.getActifUsers().afficherListeUtilisateurs();
|
this.getActifUsers().afficherListeUtilisateurs();
|
||||||
return true;
|
return true;
|
||||||
|
@ -171,8 +171,8 @@ public class ChatApp implements PropertyChangeListener {
|
||||||
if (UDPEchange.getConnecte()) {
|
if (UDPEchange.getConnecte()) {
|
||||||
System.out.println("Connexion reussie");
|
System.out.println("Connexion reussie");
|
||||||
this.connecte=true;
|
this.connecte=true;
|
||||||
this.db.ajoutUtilisateurs(this.me.getId(),pseudo);
|
//this.db.ajoutUtilisateurs(this.me.getId(),pseudo);
|
||||||
this.db.majUtilisateursActifs(true,this.me.getId());
|
//this.db.majUtilisateursActifs(true,this.me.getId());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -218,7 +218,7 @@ public class ChatApp implements PropertyChangeListener {
|
||||||
// Message que l'on envoie à tous les utilisateurs actifs
|
// Message que l'on envoie à tous les utilisateurs actifs
|
||||||
String broadcastMessage = "Deconnexion\n" + this.getMe().toString() ;
|
String broadcastMessage = "Deconnexion\n" + this.getMe().toString() ;
|
||||||
UDPEchange.EnvoiBroadcast(broadcastMessage);
|
UDPEchange.EnvoiBroadcast(broadcastMessage);
|
||||||
db.majUtilisateursActifs(false,this.me.getId());
|
//db.majUtilisateursActifs(false,this.me.getId());
|
||||||
this.connecte=false;
|
this.connecte=false;
|
||||||
try {
|
try {
|
||||||
main.stop();
|
main.stop();
|
||||||
|
|
|
@ -25,7 +25,12 @@ public class SessionClavardage extends Thread {
|
||||||
private ObjectInputStream in;
|
private ObjectInputStream in;
|
||||||
private PropertyChangeSupport pcs;
|
private PropertyChangeSupport pcs;
|
||||||
private ArrayList<MessageHorodate> derniersMsg; // on met temporairement les derniers msgs pour éviter les pb de synchro inter-threads
|
private ArrayList<MessageHorodate> derniersMsg; // on met temporairement les derniers msgs pour éviter les pb de synchro inter-threads
|
||||||
private int SessionID;
|
|
||||||
|
/**
|
||||||
|
* <p> Ce constructeur crée une session de clavardage quand on recoit une requete</p>
|
||||||
|
* @param link la socket associee a la requete TCP que l'on a recu
|
||||||
|
* @param app l'instance de chatapp
|
||||||
|
*/
|
||||||
public SessionClavardage(Socket link, ChatApp app) {
|
public SessionClavardage(Socket link, ChatApp app) {
|
||||||
this.setLink(link);
|
this.setLink(link);
|
||||||
this.setApp(app);
|
this.setApp(app);
|
||||||
|
@ -37,7 +42,6 @@ public class SessionClavardage extends Thread {
|
||||||
e.getStackTrace();
|
e.getStackTrace();
|
||||||
}
|
}
|
||||||
this.derniersMsg = new ArrayList<MessageHorodate>();
|
this.derniersMsg = new ArrayList<MessageHorodate>();
|
||||||
this.SessionID = 2;
|
|
||||||
Platform.runLater( () ->
|
Platform.runLater( () ->
|
||||||
new FenetreSession(this)
|
new FenetreSession(this)
|
||||||
);
|
);
|
||||||
|
@ -45,6 +49,12 @@ public class SessionClavardage extends Thread {
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p> Le constructeur associe a l'envoi d'une requete TCP, lorsque que l'on veut initier une session de clavardage avec un utilisateur connecte</p>
|
||||||
|
* @param u2 l'utilisateur avec qui l'on souhaite démarrer une session de clavardage
|
||||||
|
* @param app l'instance de chataap associee
|
||||||
|
*/
|
||||||
public SessionClavardage(Utilisateur u2, ChatApp app) {
|
public SessionClavardage(Utilisateur u2, ChatApp app) {
|
||||||
this.setU2(u2);
|
this.setU2(u2);
|
||||||
this.setApp(app);
|
this.setApp(app);
|
||||||
|
@ -66,12 +76,18 @@ public class SessionClavardage extends Thread {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Permet aux PropertyChangeListener de s'abonner aux notifications des evenements
|
||||||
|
* @param pcl le PropertyListener qui souhaite s'abonner sur ce PropertyChangeSupport
|
||||||
|
*/
|
||||||
public void addPropertyChangeListener(PropertyChangeListener pcl){
|
public void addPropertyChangeListener(PropertyChangeListener pcl){
|
||||||
this.pcs.addPropertyChangeListener("MessageRecu",pcl);
|
this.pcs.addPropertyChangeListener("MessageRecu",pcl);
|
||||||
this.pcs.addPropertyChangeListener("FinDeLaSession",pcl);
|
this.pcs.addPropertyChangeListener("FinDeLaSession",pcl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p> Methode permettant d'arreter cette session de clavardage et de prevenir l'autre utilisateur de la fin de la session</p>
|
||||||
|
*/
|
||||||
public void arretSession() {
|
public void arretSession() {
|
||||||
MessageHorodate msgh = new MessageHorodate(getU2(),getApp().getMe(),".",2);
|
MessageHorodate msgh = new MessageHorodate(getU2(),getApp().getMe(),".",2);
|
||||||
try {
|
try {
|
||||||
|
@ -87,6 +103,11 @@ public class SessionClavardage extends Thread {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Methode transformant prenant un string pour le transmettre sous la forme d'un message horodate a l'utilisateur distant
|
||||||
|
* @param msg le texte du message a envoyer
|
||||||
|
*/
|
||||||
public void envoiMsg(String msg) {
|
public void envoiMsg(String msg) {
|
||||||
MessageHorodate msgh = new MessageHorodate(getU2(),getApp().getMe(),msg,1);
|
MessageHorodate msgh = new MessageHorodate(getU2(),getApp().getMe(),msg,1);
|
||||||
try {
|
try {
|
||||||
|
@ -98,12 +119,19 @@ public class SessionClavardage extends Thread {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p> 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</p>
|
||||||
|
* @return le dernier message horodate recu
|
||||||
|
*/
|
||||||
public MessageHorodate getDernierMsg() {
|
public MessageHorodate getDernierMsg() {
|
||||||
return this.derniersMsg.remove(0);
|
return this.derniersMsg.remove(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p> Methode lancee par le thread, permet de receptionner les messages horodates recus et d'agir en conséquence selon le type de message recu</p>
|
||||||
|
*/
|
||||||
public void run() {
|
public void run() {
|
||||||
String plaintext = null;
|
String plaintext = null;
|
||||||
MessageHorodate msg = null;
|
MessageHorodate msg = null;
|
||||||
|
@ -135,18 +163,34 @@ public class SessionClavardage extends Thread {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Getter
|
||||||
|
* @return le flux d'ecriture des messages sortant
|
||||||
|
*/
|
||||||
public ObjectOutputStream getOut() {
|
public ObjectOutputStream getOut() {
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setter
|
||||||
|
* @param out le flux d'ecriture des messages sortant
|
||||||
|
*/
|
||||||
public void setOut(ObjectOutputStream out) {
|
public void setOut(ObjectOutputStream out) {
|
||||||
this.out = out;
|
this.out = out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Getter
|
||||||
|
* @return le flux de lecture des messages entrant
|
||||||
|
*/
|
||||||
public ObjectInputStream getIn() {
|
public ObjectInputStream getIn() {
|
||||||
return in;
|
return in;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setter
|
||||||
|
* @param in le flux de lecture des messages entrant
|
||||||
|
*/
|
||||||
public void setIn(ObjectInputStream in) {
|
public void setIn(ObjectInputStream in) {
|
||||||
this.in = in;
|
this.in = in;
|
||||||
}
|
}
|
||||||
|
@ -155,32 +199,45 @@ public class SessionClavardage extends Thread {
|
||||||
return link;
|
return link;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setter
|
||||||
|
* @param link la Socket asscciee a la connexion TCP et donc a la session
|
||||||
|
*/
|
||||||
public void setLink(Socket link) {
|
public void setLink(Socket link) {
|
||||||
this.link = link;
|
this.link = link;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Getter
|
||||||
|
* @return l'instance de chatApp
|
||||||
|
*/
|
||||||
public ChatApp getApp() {
|
public ChatApp getApp() {
|
||||||
return app;
|
return app;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setter
|
||||||
|
* @param app l'instance de chatApp
|
||||||
|
*/
|
||||||
public void setApp(ChatApp app) {
|
public void setApp(ChatApp app) {
|
||||||
this.app = app;
|
this.app = app;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Getter
|
||||||
|
* @return l'utilisateur avec lequel on communique
|
||||||
|
*/
|
||||||
public Utilisateur getU2() {
|
public Utilisateur getU2() {
|
||||||
return u2;
|
return u2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setter
|
||||||
|
* @param u2 l'utilisateur avec lequel on communique
|
||||||
|
*/
|
||||||
public void setU2(Utilisateur u2) {
|
public void setU2(Utilisateur u2) {
|
||||||
this.u2 = u2;
|
this.u2 = u2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public int getSessionID() {
|
|
||||||
return SessionID;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSessionID(int sessionID) {
|
|
||||||
SessionID = sessionID;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ public class FenetreSession extends Stage {
|
||||||
try{
|
try{
|
||||||
Parent rootchat = fichier.load();
|
Parent rootchat = fichier.load();
|
||||||
Clavardage controller = fichier.getController();
|
Clavardage controller = fichier.getController();
|
||||||
System.out.println("Session id "+session.getSessionID());
|
|
||||||
//controller.printsalut();
|
//controller.printsalut();
|
||||||
controller.setSession(session);
|
controller.setSession(session);
|
||||||
Scene scene1 = null;
|
Scene scene1 = null;
|
||||||
|
|
正在加载…
在新工单中引用