コード例 #1
0
        //Fonction permettant de confirmer une connexion
        public void ConfirmerConnexion(int _numConn)
        {
            ConnexionTransport conn = this[_numConn];

            conn.setEtatConnexion(EtatConnexion.CONNECTE);

            //Affichage en console et écriture dans le fichier de sortie
            Utility.AfficherDansConsole("Connexion établie pour " + conn.getIdentifiant(), Constantes.OUTPUT_COLOR);
            Utility.EcrireDansFichier("S_ecr.txt", "Connexion établie pour " + conn.getIdentifiant(), true);
        }
コード例 #2
0
        //Fermeture d'une connexion selon son numéro de connexion
        public void FermerConnexion(int _numConn, String raison)
        {
            ConnexionTransport conn = this [_numConn];

            sem.WaitOne();      //Blocage
            listeConnexions.Remove(conn);

            //Libération des adresses utilisées
            adressesUtilises [conn.getAdresseSource()]      = false;
            adressesUtilises [conn.getAdresseDestination()] = false;
            nbAdressesUtilises -= 2;

            sem.Release();      //Déblocage

            //Affichage en console et écriture dans le fichier de sortie
            Utility.AfficherDansConsole("Fermeture de connexion pour " + conn.getIdentifiant() + " - " + raison, Constantes.OUTPUT_COLOR);
            Utility.EcrireDansFichier("S_ecr.txt", "Fermeture de connexion pour " + conn.getIdentifiant() + " - " + raison, true);
        }
コード例 #3
0
        //Fonction permettant de trouver une connexion selon son identifiant d'application
        public ConnexionTransport this[String identifiant]
        {
            get
            {
                ConnexionTransport conn = null;
                sem.WaitOne();  //Blocage
                for (int i = 0; i < listeConnexions.Count; i++)
                {
                    try{
                        ConnexionTransport c = listeConnexions[i];
                        if (c.getIdentifiant().Equals(identifiant))
                        {
                            conn = c;
                            break;
                        }
                    }catch (IndexOutOfRangeException e) {
                        break;
                    }
                }
                sem.Release();  //Déblocage

                return(conn);
            }
        }