|
From: <car...@us...> - 2003-03-13 02:38:52
|
Update of /cvsroot/madsserv/madsserv/src/client
In directory sc8-pr-cvs1:/tmp/cvs-serv15336/src/client
Modified Files:
Client.java ClientRTPManager.java DialogServer.java
ThreadRTPManager.java
Log Message:
Probleme de fermeture des threads regle
Index: Client.java
===================================================================
RCS file: /cvsroot/madsserv/madsserv/src/client/Client.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** Client.java 11 Mar 2003 20:06:52 -0000 1.4
--- Client.java 13 Mar 2003 02:38:49 -0000 1.5
***************
*** 19,27 ****
*/
public class Client
extends Frame {
- /**
- * Champs de la Classe Reencode
- */
private Container contentPane;
--- 19,29 ----
*/
+ /**
+ * <code>Client</code> permet de creer la fenetre principale du client Madsserv.
+ */
+
+
public class Client
extends Frame {
private Container contentPane;
***************
*** 57,61 ****
/**
! * Contructeur de la Classe Client
*/
--- 59,63 ----
/**
! * Contructeur de la classe <code>Client</code>.
*/
***************
*** 72,80 ****
/**
! * setPlayerPanel crée l'interface graphique du Client
! * @param pp il s'agit d'un PlayerPanel qui est une classe que nous avons crée
! * @vid est un booleen qui nous dit si le player a cree est de la video ou de l'audio
*/
-
public void setPlayerPanel(PlayerPanel pp, boolean vid) {
Panel panelTemp;
--- 74,81 ----
/**
! * Insere un <code>PlayerPanel</code> dans l'interface graphique de <code>Client</code>.
! * @param pp le PlayerPanel insere.
! * @param vid un booleen caracterisant le caractere audio ou video du player insere par le <code>PlayerPanel</code>.
*/
public void setPlayerPanel(PlayerPanel pp, boolean vid) {
Panel panelTemp;
***************
*** 109,113 ****
/**
! * jbinit lance la creation de l'interface graphique.
*/
private void jbInit() throws Exception {
--- 110,114 ----
/**
! * Cree l'interface graphique.
*/
private void jbInit() throws Exception {
***************
*** 118,123 ****
this.setTitle("Madsserv Client");
setAfficheStatusBar("coucou");
! URLChoice = new TextField("file:/mnt/win_c/temp/kiss_cool_1.mpeg");
! AdServer = new TextField("dronej.rezel.com:5200");
menuFile.setLabel("File");
menuOpenURL.setLabel("Open URL");
--- 119,124 ----
this.setTitle("Madsserv Client");
setAfficheStatusBar("coucou");
! URLChoice = new TextField("file:/stud/users/promo04/carbonel/tmp/video/kiss_cool_1.mpeg");
! AdServer = new TextField("laplace.enst.fr:5100");
menuFile.setLabel("File");
menuOpenURL.setLabel("Open URL");
***************
*** 192,209 ****
/**
! * menuFileExit_actionPerformed est à l'ecoute d'un evenement signifiant l'arret du client
! * @param e c'est l'evenemet qui met fin au client
*/
public void menuFileExit_actionPerformed(ActionEvent e) {
! String messageToSend[] = new String[1];
! messageToSend[0] = "fin de la connexion";
! dialogServer.sendMessage(4, messageToSend);
! System.exit(0);
}
- /**
- * processWindowEvent Methode qui permet de quitter le client quand on clique pour fermer la fenetre
- * @param e c'est l'evenement qui indique que l'on a clique sur le bouton pour fermer la fenetre
- */
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
--- 193,211 ----
/**
! * Traite l'evenement cree par le clic sur le menu Quitter.
! * @param l'evenement associe au clic sur le menu Quitter.
*/
public void menuFileExit_actionPerformed(ActionEvent e) {
! try {
! String messageToSend[] = new String[1];
! messageToSend[0] = "fin de la connexion";
! dialogServer.sendMessage(4, messageToSend);
! System.exit(0);
! }
! catch (Exception ex) {
! System.exit(0);
! }
}
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
***************
*** 214,219 ****
/**
! * boutongo_actionPerformed Methode qui permet de lancer la connexion lorsque l'on clique sur le bouton go
! * @param evt c'est l'evenement qui indique que l'on a clique sur le bouton go
*/
public void boutongo_actionPerformed(ActionEvent evt) {
--- 216,221 ----
/**
! * Traite l'evenement cree par le clic sur le bouton Go.
! * @param evt l'evenement associe au clic sur le bouton Go.
*/
public void boutongo_actionPerformed(ActionEvent evt) {
***************
*** 227,231 ****
}
catch (Exception e) {
! System.out.println("Socket pas la");
}
--- 229,234 ----
}
catch (Exception e) {
! System.out.println("Le serveur ou le port n'est pas correct");
! System.exit(0);
}
***************
*** 235,238 ****
--- 238,242 ----
else {
+ // if ( (mySocket.isClosed()) == false) {
messageToSend = new String[2];
messageToSend[0] = getURL();
***************
*** 240,249 ****
dialogServer.sendMessage(2, messageToSend);
}
}
/**
! * getAddressServer, cette methode permet d'obtenir l'InetAddress du serveur sur lequel il faut se connecter, cette adresse est rentré à la main dans une zone de texte sur l'interface graphique du client
! * @return InetAddress du server
*/
public InetAddress getAddressServer() {
--- 244,270 ----
dialogServer.sendMessage(2, messageToSend);
+ /*}
+ else {
+ try {
+ mySocket.connect(new InetSocketAddress(getAddressServer(),
+ getServerPort()));
+ }
+ catch (Exception e) {
+ }
+ }*/
}
}
/**
! * Supprime la connexion au serveur en stoppant le module <code>DialogServer</code>.
! */
! public void endConnexion() {
! dialogServer.stop();
! mySocket = null;
! }
!
! /**
! * Renvoie l'InetAddress du serveur.
! * @return l'InetAddress du serveur.
*/
public InetAddress getAddressServer() {
***************
*** 263,268 ****
/**
! * getServerPorrt est une methode qui permet d'obtenir le Numero de port du serveur, ce numero de port est rentre dans une zone de texte sur l'interface graphique du client
! * @return int le numero du port sur lequel, on doit se connecter au serveur
*/
public int getServerPort() {
--- 284,289 ----
/**
! * Renvoie le numero de port du serveur sur lequel il attends les connexions clients.
! * @return int le numero du port.
*/
public int getServerPort() {
***************
*** 278,283 ****
/**
! * getURL permet d'obtenir l'URL du fichier multimedia que l'on souhaite visionner, cet URL est rentre dans une zone de texte sur l'interface graphique du client
! * @return String l'adresse du media demande
*/
public String getURL() {
--- 299,305 ----
/**
! * Renvoie l'URL du fichier multimedia demande par l'utilisateur.
! * Cette URL est entree par l'intermediaire d'une zone de texte.
! * @return String l'adresse du media demande.
*/
public String getURL() {
***************
*** 286,289 ****
--- 308,316 ----
}
+ /**
+ * Renvoie le format de diffusion prefere de l'utilisateur.
+ * Cete format est precise via l'interface graphique.
+ * @return String le format prefere.
+ */
public String getFormatPrefere() {
***************
*** 304,309 ****
/**
! * setAfficheStatusBar est une methode qui permet d'afficher en bas du client un message envoye par le server
! * @param _message un message envoye sous forme de String envoye par le serveur
*/
public void setAfficheStatusBar(String _message) {
--- 331,336 ----
/**
! * Met a jour la barre d'etats du client.
! * @param _message le message a afficher dans la barre d'etats.
*/
public void setAfficheStatusBar(String _message) {
***************
*** 311,317 ****
}
- /**
- * Client_menuFileExit_ActionAdapter, classe qui ecoute pour savoir si on clique sur le menu exit et envoie alors l'evenement
- */
class Client_menuFileExit_ActionAdapter
implements ActionListener {
--- 338,341 ----
***************
*** 327,333 ****
}
- /**
- * Client_boutongo_ActionAdapter classe qui ecoute pour savoir si on clique sur le bouton go et envoie alors l'evenement
- */
class Client_boutongo_ActionAdapter
implements ActionListener {
--- 351,354 ----
***************
*** 343,349 ****
}
- /**
- * Client_Menu_OpenURL_ActionAdapter classe qui ecoute pour savoir si on clique sur le bouton OpenURL et envoie alors l'evenement
- */
class Client_Menu_OpenURL_ActionAdapter
implements ActionListener {
--- 364,367 ----
Index: ClientRTPManager.java
===================================================================
RCS file: /cvsroot/madsserv/madsserv/src/client/ClientRTPManager.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** ClientRTPManager.java 11 Mar 2003 20:06:52 -0000 1.3
--- ClientRTPManager.java 13 Mar 2003 02:38:49 -0000 1.4
***************
*** 42,45 ****
--- 42,46 ----
this.client = client;
}
+
/**
* methode qui permet de demarrer l'attente de flux RTP
***************
*** 140,143 ****
--- 141,145 ----
return true;
}
+
/**
* isDone methode qui regarde si il y a des player qui sont crees
***************
*** 186,189 ****
--- 188,192 ----
return null;
}
+
/**
* find, methode qui
***************
*** 198,201 ****
--- 201,205 ----
return null;
}
+
/**
* findIntPlayer, methode qui retourne la position du player dans players
***************
*** 492,495 ****
--- 496,500 ----
}
}
+
/**
* la classe MyPlayer
Index: DialogServer.java
===================================================================
RCS file: /cvsroot/madsserv/madsserv/src/client/DialogServer.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** DialogServer.java 11 Mar 2003 20:06:53 -0000 1.3
--- DialogServer.java 13 Mar 2003 02:38:49 -0000 1.4
***************
*** 37,41 ****
switch (_type) {
! case 7: {
// if (lgth < 2) raise exception;
--- 37,41 ----
switch (_type) {
! case 9: {
// if (lgth < 2) raise exception;
***************
*** 50,54 ****
}
! case 5: {
// if (lgth < 2) raise exception;
//lecture du deuxieme champ : ClientID
--- 50,54 ----
}
! case 7: {
// if (lgth < 2) raise exception;
//lecture du deuxieme champ : ClientID
***************
*** 69,72 ****
--- 69,95 ----
break;
}
+ case 5: {
+ // if (lgth < 2) raise exception;
+ //lecture du deuxieme champ : ClientID
+ try {
+ clientID = Integer.parseInt(_message[0]);
+ }
+ catch (NumberFormatException e) {
+ System.out.println("Le deuxieme champ du message est incorrect");
+
+ // try{
+ System.out.println(_message[1]);
+ /*}
+ catch (NumberFormatException e)
+ {
+ System.out.println("Le troisieme champ du message est incorrect");
+ }*/
+ }
+ threadRTPManager.Fermer();
+ client.endConnexion();
+ System.out.println("coucou de fin");
+ //System.out.println(mySocket.isClosed());
+ break;
+ }
case 3: {
***************
*** 89,92 ****
--- 112,117 ----
else {
+
+ threadRTPManager.Fermer();
threadRTPManager = null;
System.gc();
Index: ThreadRTPManager.java
===================================================================
RCS file: /cvsroot/madsserv/madsserv/src/client/ThreadRTPManager.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** ThreadRTPManager.java 11 Mar 2003 20:06:53 -0000 1.3
--- ThreadRTPManager.java 13 Mar 2003 02:38:49 -0000 1.4
***************
*** 22,25 ****
--- 22,30 ----
* methode run de ce thread
*/
+ public void Fermer()
+ {
+ clientRTPManager.close();
+ }
+
public void run()
{
|