Debut de commentaire sur RunnerEcouteTCP

This commit is contained in:
Auriane Lartigue 2020-12-28 11:38:48 +04:00
parent d9bf37800e
commit 860d3febbf
2 changed files with 41 additions and 19 deletions

View file

@ -1,13 +1,3 @@
chatapp/Model/ListUtilisateurs.java
chatapp.Model.ListUtilisateurs
chatapp/Model/MessageHorodate.java
chatapp.Model.MessageHorodate
chatapp/Model/Utilisateur.java
chatapp.Model.Utilisateur
chatapp/Launcher.java
chatapp.Launcher
chatapp/Model/DataBase.java
chatapp.Model.DataBase
chatapp/Protocol/RunnerEcouteTCP.java
chatapp.Protocol.RunnerEcouteTCP
chatapp/View/FenetreSession.java
@ -15,13 +5,21 @@ chatapp/View/FenetreSession.java
chatapp.View.FenetreSession$1
chatapp/Controller/ChatApp.java
chatapp.Controller.ChatApp
chatapp/Model/DataBase.java
chatapp.Model.DataBase
chatapp/View/ChangementPseudo.java
chatapp.View.ChangementPseudo
chatapp/Protocol/RunnerEcouteUDP.java
chatapp.Protocol.RunnerEcouteUDP
chatapp/Launcher.java
chatapp.Launcher
chatapp/Model/ListUtilisateurs.java
chatapp.Model.ListUtilisateurs
chatapp/Protocol/UDPEchange.java
chatapp.Protocol.RunnerUDP
chatapp.Protocol.UDPEchange
chatapp/Model/MessageHorodate.java
chatapp.Model.MessageHorodate
chatapp/Main.java
chatapp.Main
chatapp/View/Clavardage.java
@ -33,6 +31,8 @@ chatapp/View/ConnexionScreen.java
chatapp.View.ConnexionScreen
chatapp/View/View_Utilisateurs.java
chatapp.View.View_Utilisateurs
chatapp/Model/Utilisateur.java
chatapp.Model.Utilisateur
chatapp/View/View_Menu.java
chatapp.View.View_Menu
chatapp/View/DemarrerSession.java

View file

@ -2,19 +2,28 @@ package chatapp.Protocol;
import chatapp.Controller.ChatApp;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
* <p>
* Classe permettant de gérer les multiples connexions en TCP.
* Extend la classe Thread.
* </p>
*/
public class RunnerEcouteTCP extends Thread {
public ChatApp app ;
private PropertyChangeSupport pcs;
private ArrayList<SessionClavardage> ListeSessions = new ArrayList<SessionClavardage>();
// on conserve les sessions actives dans un attribut liste
private ArrayList<SessionClavardage> ListeSessions = new ArrayList<>();
/**
* Constructeur
* @param app Un RunnerEcouteTCP est toujours associé a une application de Chat
*/
public RunnerEcouteTCP(ChatApp app) {
this.app = app ;
this.pcs = new PropertyChangeSupport(this);
@ -28,12 +37,12 @@ public class RunnerEcouteTCP extends Thread {
/**
* <p>
* Méthode pour qu'un objet de la classe ChatApp soit constamment en écoute de potentielles connexions
* @param app L'utilisateur en écoute de potentielles communications
* Methode pour qu'un objet de la classe ChatApp soit constamment en a l'ecoute de potentielles connexions
* @param app L'utilisateur en ecoute de potentielles communications
* </p>
*/
public void ecouteTCP(ChatApp app) {
ServerSocket ss = null;
ServerSocket ss;
System.out.println("Ecoute TCP activee");
try {
ss = new ServerSocket(5000); // On ecoute sur le port 5000
@ -51,17 +60,30 @@ public class RunnerEcouteTCP extends Thread {
}
}
/**
* Methode permettant d'ajouter une session active dans la liste 'ListeSessions'
* @param session Session Active que l'on souhaite rajouter
*/
public void addSession(SessionClavardage session){
this.ListeSessions.add(session);
pcs.firePropertyChange("NouvelleSession",false,true);
}
/**
* Methode permettant de recupere la premiere session de clavardage dans 'ListeSessions'
* @return Premiere Session Active
*/
public SessionClavardage getSessionClavardage() {
return(this.ListeSessions.remove(0));
}
/**
* Methode qui vient ecraser la méthode run de la classe Thread.
* La méthode 'ecouteTCP' est appele.
*/
@Override
public void run() {
ecouteTCP(this.app);
}
}