IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scala Java Discussion :

Terminaison d'un programme qui utilise des actors.


Sujet :

Scala Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut Terminaison d'un programme qui utilise des actors.
    Bonjour tout le monde.

    Ayant eu envie d'apprendre l'utilisation des Actors en Scala, je suis tombé sur le problème suivant :

    Tout d'abords je définit un classe d'actors dont le seul but pour l'instant est d'envoyer un message à un RemoteActors.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    import scala.actors.Actor
    import scala.actors.Actor._
    import scala.actors.remote.RemoteActor
    import scala.actors.remote.RemoteActor._
    import scala.actors.remote.Node
     
    class Client() extends Actor {
     
      def act () {
        val serveur = select(Node("127.0.0.1",9090),'Serveur)
        serveur ! "ok"
        exit()
      }
     
    }
    Ma fonction principale est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    import scala.actors.Actor
    import scala.actors.Actor._
     
    object MainClient extends Application {
      val a1 = new Client()
      val a2 = new Client()
      val a3 = new Client()
      a1.start
      a2.start
      a3.start
    }
    Le serveur distant reçoit bien les trois messages "ok", mais mon programme MainClient ne termine pas (alors que les trois Actors ont appelé exit()). Comment peut on dire « quand tous les actors ont terminé, termine la fonction » ?


    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Je viens de tester ton code et chez moi ça marche très bien, le programme MainClient se termine après avoir envoyé les 3 messages au serveur.
    Quelle version de scala utilises-tu ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par George7 Voir le message
    Salut,

    Je viens de tester ton code et chez moi ça marche très bien, le programme MainClient se termine après avoir envoyé les 3 messages au serveur.
    Quelle version de scala utilises-tu ?
    J'utilisais Scala 2.7.7 (proposé par défaut dans Debian Squeeze). J'ai installé hier soir soir Scala 2.8.1 et effectivement maintenant ça marche (je viens de réessayer) ; c'était donc ça !

    Merci beaucoup !

Discussions similaires

  1. Créer un setup d'un programme qui utilise des DLL
    Par douze_12 dans le forum VB.NET
    Réponses: 3
    Dernier message: 26/07/2012, 11h40
  2. Quel langage utiliser pour un programme qui contrôle des numéros ?
    Par Dsphinx dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 24/07/2010, 01h37
  3. Java pour un programme qui utilise des joysticks?
    Par ethan_01 dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 05/06/2010, 23h29
  4. Trouble avec Excel avec un programme qui utilise un Hook.
    Par hot_metal dans le forum Windows
    Réponses: 5
    Dernier message: 14/01/2006, 13h40
  5. [LG]programme qui renomme des fichiers
    Par Ne0taku dans le forum Langage
    Réponses: 9
    Dernier message: 16/02/2005, 21h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo