Esempio n. 1
0
def wait_msg(connexion):
    """
    @do :       Attend un message en boucle sur la connexion passe en 
                parametre et l'envoi au gestionnaire de message. 
                Gere aussi l'extinction du serveur si elle est demande 
                ou s'il y a une erreur.
    @args :     connexion -> Connection qu'il faut ecouter
    @return :   None
    """

    socket_is_open = True

    while socket_is_open:
        # Attente d'un message
        dao = Comm.rcv_message(connexion)
        action = Msg_manager.recv_handler(dao, list_of_characters,
                                          list_of_regions)

        # ACTION : Fermeture de l'application
        if (action == "exit"):
            print("Demande d'extinction du server\n", flush=True)
            socket_is_open = False
            Comm.close_connexion(connexion)

            os._exit(1)

        # ACTION : Plantage de l'application
        elif (action == "error"):
            print("Erreur : Fermeture du serveur\n", flush=True)
            socket_is_open = False
            Comm.close_connexion(connexion)

            os._exit(1)