示例#1
0
 public static void Connection() {
   BDDTest1 test1;
   test1 = new BDDTest1();
   boolean test = test1.Connexion();
   System.out.println("Connexion à la BDD est " + test);
   Test1 = test1;
 }
示例#2
0
    public void run() {
      BufferedReader MessageIn = null;
      PrintWriter MessageOut = null;

      System.out.println(
          "Client accepté à l'adresse : " + myClientSocket.getInetAddress().getHostName());

      try {
        MessageIn = new BufferedReader(new InputStreamReader(myClientSocket.getInputStream()));
        MessageOut = new PrintWriter(new OutputStreamWriter(myClientSocket.getOutputStream()));

        while (m_bRunThread) {
          String Messageclient = MessageIn.readLine();
          System.out.println(
              "Client "
                  + myClientSocket.getInetAddress().getHostName()
                  + " envoie :"
                  + Messageclient);
          String[] Message = Messageclient.split("XIX");

          /*
           * Préviens que le serveur est fermé.
           * Problème actuel
           * Le message n'est pas reçu par le client.
           */
          if (!ServerOn) {
            System.out.println("Le serveur est fermé");
            MessageOut.println("Le serveur est fermé");
            MessageOut.flush();
            m_bRunThread = false;
          }

          if (Messageclient.equalsIgnoreCase("quit")) // Déconnecter le client
          {
            m_bRunThread = false;
            System.out.println(
                "Déconnecte le client : " + myClientSocket.getInetAddress().getHostName());
          }

          /*
           * Ferme le serveur
           * Problème actuel
           * Necessite de le faire 2 fois
           * (Se connecter, envoyer "end" qui déconnecte et se reconnecter pour renvoyer "end"
           */
          else if (Messageclient.equalsIgnoreCase("end")) {
            m_bRunThread = false;
            System.out.println(
                "Déconnecte le client : " + myClientSocket.getInetAddress().getHostName());
            ServerOn = false;
          }

          /*
           * Vérification de l'existence d'un joueur dans la BDD
           * Fournir un message du format
           * ConnectXIXNomjoueurXIXMdpJoueur
           */
          else if (Message[0].equalsIgnoreCase("Connect")) // Authentification
          {
            if (Message[1] != null && Message[2] != null) {
              if (Test1.Authentification(Message[1], Message[2])) {
                System.out.println("Authentification réussite");
                MessageOut.println("Vous êtes Izual, Bienvenue");
                MessageOut.flush();
              } else {
                System.out.println("Authentification échouée");
                MessageOut.println(
                    "Pas de compte existant à ce Login ou erreur dans le mot de passe");
                MessageOut.flush();
              }
            } else {
              System.out.println("Message Connect incomplet");
            }

          }
          /*
           * Connexion à une autre BDD
           * Fournir un message du format
           * BddXIXNomdelaBdd
           */
          else if (Message[0].equalsIgnoreCase("Bdd")) {
            if (Test1.ConnexionBdd(Message[1])) {
              System.out.println("Connexion à une autre BDD");
              MessageOut.println("Vous vous êtes bien connecté à une Bdd");
              MessageOut.flush();
            } else {
              System.out.println("Connexion Bdd échouée");
              MessageOut.println("Bdd inexistante");
              MessageOut.flush();
            }
          }
          /*
           * En phase de test
           * Créé une partie avec pour nom "Test8"
           * Fournir un message du format
           * StartGameXIXNomjoueur1XIXNomjoueur2
           */
          else if (Message[0].equalsIgnoreCase("StartGame")) {
            if (Test1.VerifPlayer(Message[1]) && Test1.VerifPlayer(Message[2])) {
              Player p1 = new Player(Message[1]);
              Player p2 = new Player(Message[2]);
              Game g1 = new Game(p1, "Test8");
              Test1.Matchmaking(p1.getName(), g1.getGameName());
              g1.addPlayer(p2);
              Test1.StartMatch(p2.getName(), g1.getGameName());
              Games.add(g1);
              System.out.println("Partie crée");
            }
          }
          /*
           * En phase de test
           * Donne le nombre de partie en cours
           * Ne renvoie pas les parties de la BDD
           * Fournir un message du format
           * TestGames
           */
          else if (Message[0].equalsIgnoreCase("TestGames")) {
            System.out.println(Games.get(0).getGameName());
            System.out.println(Games.get(0).getHost());
            if (Games.isEmpty()) System.out.println("Aucune Game n'existe");
            else System.out.println("Il y a " + Games.size() + " parties en ce moment");

          } else {
            MessageOut.println("La commande : " + Messageclient + " n'est pas reconnue");
            MessageOut.flush();
          }
        }
      } catch (Exception e) {
        e.printStackTrace();
      } finally {
        // Ferme proprement
        try {
          MessageIn.close();
          MessageOut.close();
          myClientSocket.close();
          System.out.println("Stop");
        } catch (IOException ioe) {
          ioe.printStackTrace();
        }
      }
    }