pcuserveur.lib
Class GestionnaireConnexion

java.lang.Object
  extended by pcuserveur.lib.GestionnaireConnexion
All Implemented Interfaces:
Runnable, Vide

public class GestionnaireConnexion
extends Object
implements Vide, Runnable

Version:
1.0 Cette classe implémente le protocole PCU et prend en charge la connexion entre le serveur et le client.

Un GestionnaireConnexion est caractérisé par les informations suivantes:

Author:
PLU Julien
See Also:
Runnable, Vide, Utilisateur, Etat, Canal, Serveur, MonLog, DejaConnecteException, CanalExistantException, CommandeIncorrecteException, LoginIntrouvableException, NonConnecteException, NbCanauxMaxException

Field Summary
static char CR
           Caractère représentant le caractère "Cariage Return".
 
Constructor Summary
GestionnaireConnexion()
           Constructeur par défaut.
 
Method Summary
 void connexionDirecte(String login, String ip)
           Demande de connexion directe avec quelqu'un.
 void connexionDirecteAccepte(String login, String ip, String port_connexion)
           Acceptation d'une connexion directe avec quelqu'un.
 void connexionDirecteRefuse(String login)
           Refus d'une connexion directe avec quelqu'un.
 void enleverCanal(String nom_canal)
           Enlever un canal de la liste des canaux ou se situe l'utilisateur.
 void enleverNom(String login)
           Enlever un nom dans la liste des clients acceptés.
 void envoyer(String message)
           Envoyer un message.
 boolean estVide()
           Savoir si un GestionnaireConnexion est vide, c'est à dire si il est inutilisé.
 Utilisateur getClient()
           Renvoie le client courant.
 String getIp()
           Renvoie l'adresse IP du client.
 String infoCanaux()
           Renvoie le nom des canaux auxquels le client est connecté.
 void initialisationGestionnaire(Socket socket1, Serveur serveur1, int numeroGC1)
           Initialise le gestionnaire de connexion.
 void lister(String nomCanal)
           Lister tout les canaux du serveur pour avoir leur nombre d'utilisateur et leur sujet.
 void membre(String nom_canal)
           Liste les utilisateurs d'un canal.
 void notifier(String nom_canal, Evenement evenement, String login, String message)
           Informations envoyer par le serveur afin de mettre au courant tout les utilisateurs d'un canal ce qui s'y passe dessus.
 void quitter(String msg)
           Quitter le serveur.
 void run()
           Méthode principal de lancement du thread.
 void setLance(boolean lance1)
           Arrêter ou démarrer un thread.
 void srv_lister()
           Lister les clients du serveur.
 void stopper(String message)
           Message envoyé par le serveur pour une coupure de connexion.
 void utl_bannir(String login)
           Bannir un utilisateur du serveur.
 void vider()
           Vidage du gestionnaire de connexion dans l'optique d'une possible réutilisation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CR

public static final char CR

Caractère représentant le caractère "Cariage Return".

See Also:
(String), (String), (), (String), (String), (), Constant Field Values
Constructor Detail

GestionnaireConnexion

public GestionnaireConnexion()

Constructeur par défaut.

Method Detail

connexionDirecte

public void connexionDirecte(String login,
                             String ip)
                      throws IOException

Demande de connexion directe avec quelqu'un.

Parameters:
login - Login de la personne avec laquelle on veut une connexion.
ip - Ip de la personne qui demande la connexion directe.
Throws:
IOException - Un envoie à un client a échoué.

connexionDirecteAccepte

public void connexionDirecteAccepte(String login,
                                    String ip,
                                    String port_connexion)
                             throws IOException

Acceptation d'une connexion directe avec quelqu'un.

Parameters:
login - Login de la personne avec laquelle on veut une connexion.
ip - Ip de la personne qui demande la connexion directe.
port_connexion - Port sur lequel la connexion sera établie.
Throws:
IOException - Un envoie à un client a échoué.

connexionDirecteRefuse

public void connexionDirecteRefuse(String login)
                            throws IOException

Refus d'une connexion directe avec quelqu'un.

Parameters:
login - Login de la personne avec laquelle on veut une connexion.
Throws:
IOException - Un envoie à un client a échoué.

enleverCanal

public void enleverCanal(String nom_canal)

Enlever un canal de la liste des canaux ou se situe l'utilisateur.

Parameters:
nom_canal - Nom du canal à enlever de la liste.

enleverNom

public void enleverNom(String login)

Enlever un nom dans la liste des clients acceptés.

Parameters:
login - Login à retirer.

envoyer

public void envoyer(String message)
             throws IOException

Envoyer un message.

Parameters:
message - Message à envoyer.
Throws:
IOException - Un envoie à un client a échoué.

estVide

public boolean estVide()

Savoir si un GestionnaireConnexion est vide, c'est à dire si il est inutilisé.

Specified by:
estVide in interface Vide
Returns:
true si le GestionnaireConnexion est vide, false sinon.

getClient

public Utilisateur getClient()

Renvoie le client courant.

Returns:
Le client.

getIp

public String getIp()

Renvoie l'adresse IP du client.

Returns:
L'adresse IP.

infoCanaux

public String infoCanaux()

Renvoie le nom des canaux auxquels le client est connecté.

Returns:
Chaine des nom de canaux.

initialisationGestionnaire

public void initialisationGestionnaire(Socket socket1,
                                       Serveur serveur1,
                                       int numeroGC1)

Initialise le gestionnaire de connexion.

Parameters:
socket1 - Socket ou le gestionnaire de connexion sera connecté.
serveur1 - Serveur sur lequel le gestionnaire de connexion sera connecté.
numeroGC1 - Numéro du gestionnaire de connexion dans le serveur.

lister

public void lister(String nomCanal)
            throws IOException

Lister tout les canaux du serveur pour avoir leur nombre d'utilisateur et leur sujet.

Parameters:
nomCanal - Nom du canal sur lequel on veux connaître les informations (si le paramètre est vide tout les canaux seront choisi)
Throws:
IOException - Un envoie à un client a échoué.

membre

public void membre(String nom_canal)
            throws IOException

Liste les utilisateurs d'un canal.

Parameters:
nom_canal - Nom du canal dont on veut connaître les membres.
Throws:
IOException - Un envoie à un client a échoué.

notifier

public void notifier(String nom_canal,
                     Evenement evenement,
                     String login,
                     String message)
              throws IOException

Informations envoyer par le serveur afin de mettre au courant tout les utilisateurs d'un canal ce qui s'y passe dessus.

Parameters:
nom_canal - Nom du canal sur lequel envoyer les informations.
evenement - Evenement correspondant à l'information envoyé.
login - Login de l'utilisateur originaire de l'information.
message - Message à envoyer sur le canal.
Throws:
IOException - Un envoie à un client a échoué.

quitter

public void quitter(String msg)

Quitter le serveur.

Parameters:
msg - Message de départ (non obligatoire).

run

public void run()

Méthode principal de lancement du thread.

Specified by:
run in interface Runnable

setLance

public void setLance(boolean lance1)

Arrêter ou démarrer un thread.

Parameters:
lance1 - Boolean correspondant à l'état du thread.

srv_lister

public void srv_lister()
                throws IOException

Lister les clients du serveur.

Throws:
IOException - Un envoie à un client a échoué.

stopper

public void stopper(String message)

Message envoyé par le serveur pour une coupure de connexion. Lors d'un relancement ou de l'arrêt.

Parameters:
message - Message qui sera envoyer lors de la coupure de la connexion (optionnel).

utl_bannir

public void utl_bannir(String login)
                throws IOException

Bannir un utilisateur du serveur.

Parameters:
login - Login de l'utilisateur à bannir.
Throws:
IOException - Un envoie à un client a échoué.

vider

public void vider()

Vidage du gestionnaire de connexion dans l'optique d'une possible réutilisation.

Specified by:
vider in interface Vide


Copyright © 2010 PCU. All Rights Reserved.