//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); }
//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); }
//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); } }