Exemplo n.º 1
0
  /** Boucle infini d'attente de connexion client */
  private void attenteConnexionClient() {
    Socket socketClient;
    TraitementClient monTraitementClient;
    while (true) {
      try {
        socketClient = socketAttente.accept();
      } catch (IOException e) {
        System.err.println("Erreur lors de l'attente de connexion de client " + e);
        try {
          fermerServeurSocket();
        } catch (IOException e1) {
          System.err.println("Erreur d'entrée sortie sur la fermeture de la socket serveur" + e);
        }
        break;
      }

      monTraitementClient = new TraitementClient(socketClient);
      listeTraitementClient.add(monTraitementClient);

      try {
        monTraitementClient.creerFluxCommunicationTraitementClient(socketClient);
      } catch (IOException e1) {
        System.err.println("Erreur E/S sur l'ouverture des flux du TraitementClient " + e1);
        break;
      }

      try {
        monTraitementClient.ajouterClientCorrespondant();
      } catch (IOException e) {
        System.err.println("Erreur E/S sur l'ajout du client aux connexions du serveur " + e);
        break;
      }
      monTraitementClient.lancerThread();
    }
  }
Exemplo n.º 2
0
 /**
  * Averti tous les clients connectés que le nom du joueur pasé en paramètre à joué un nouveau coup
  *
  * @param nomClientCoupJoue Nom du client ayant joué un nouveau
  * @throws IOException Erreurs d'entrée/sortie
  */
 public void avertirTousClientNouveauCoupJoue(String nomClientCoupJoue) throws IOException {
   for (TraitementClient tc : listeTraitementClient) {
     tc.avertirClientTraiteNouveauCoupJoue(nomClientCoupJoue);
   }
 }
Exemplo n.º 3
0
 /**
  * Averti tous les clients de démarrer le jeu en leur transmettant la difficulté et le nombre de
  * ronde
  *
  * @param informationsComplementaires Difficultée du match , nombre de ronde et solution
  * @throws IOException Erreurs d'entrée/sortie
  */
 public void avertirTousClientOuvrirJeuMastermind(String informationsComplementaires)
     throws IOException {
   for (TraitementClient tc : listeTraitementClient) {
     tc.avertirClientTraiteOuvrirJeuMastermind(informationsComplementaires);
   }
 }
Exemplo n.º 4
0
 /**
  * Averti tous les clients connectés qu'il faut copier la liste des joueurs
  *
  * @throws IOException Erreurs d'entrée/sortie
  */
 public void avertirTousClientCopierListeJoueurs() throws IOException {
   for (TraitementClient tc : listeTraitementClient) {
     tc.avertirClientTraiteCopierListeJoueurs();
   }
 }
Exemplo n.º 5
0
 /**
  * Avertie le client qu'il traite que le bouton parametrer match doit être désactivé
  *
  * @throws IOException Erreurs d'entrée/sortie
  */
 public void avertirTousClientDesactiverParametrer() throws IOException {
   for (TraitementClient tc : listeTraitementClient) {
     tc.avertirClientTraiteDesactiverParametrer();
   }
 }