chezwadi
Messages postés2Date d'inscriptionjeudi 2 avril 2009StatutMembreDernière intervention13 avril 2010
-
13 avril 2010 à 01:14
chezwadi
Messages postés2Date d'inscriptionjeudi 2 avril 2009StatutMembreDernière intervention13 avril 2010
-
13 avril 2010 à 12:05
salut
je voudrai faire un contrôle sur la réception et le renvoi d'un message entre deux agent mais ca ne marche pas.Voici mon code.Si vous pouvez m'aider, merci bien.
la c'est l'agent qui doit répondre:
addBehaviour(new CyclicBehaviour(this) {
@SuppressWarnings("static-access")
public void action() {
obj[0]="a";
// Attente de message (de l'agent Acheteur)
ACLMessage msg = receive(MessageTemplate.MatchPerformative(ACLMessage.INFORM));
if (msg != null) {
// Le contenu de réponse est recue
reply.setContent("recue");
// Envoyer la réponse à l'agent001
send(reply);
System.out.println(getLocalName()+" recue ");
// Suppression de l'agent002
doDelete();
}
else {
//Pendant que le message n'est pas encore arrivé le comportement est bloqué
block();
}
et ce lui de l'agent qui envoi le message
Object[] obj={"a",20};
protected void setup(){
System.out.println(getLocalName()+" STARTED");
try {
// Création de desciprion de l'agent [Vendeur]
DFAgentDescription dfd = new DFAgentDescription();
dfd.setName(getAID());
// Enregistrement de la description de l'agent dans DF (Directory Facilitator)
DFService.register(this, dfd);
System.out.println(getLocalName()+" REGISTERED WITH THE DF");
} catch (FIPAException e) {
e.printStackTrace();
}
/* Préparation du message à envoyer vers l'agent002
*/
ACLMessage msg = new ACLMessage(ACLMessage.INFORM);
// Remplissage de contenue du message
try {
msg.setContentObject(obj);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Préciser les agents destinataires du message qui est l'agent002 dans ce cas
msg.addReceiver(new AID("Agent002", AID.ISLOCALNAME));
// Envoyer le message a tout les agents
send(msg);
et encore merci bien
et c'est ma première fois que je participe dans ce site
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 13 avril 2010 à 07:41
Bonjour,
Peut être devrais tu expliquer quelle erreur tu obtiens, ce qui ne marche pas, est ce que c'est une erreur de compilation, d'execution, ou bien n'y a t'il pas d'erreur mais que ca ne fonctionne pas.
chezwadi
Messages postés2Date d'inscriptionjeudi 2 avril 2009StatutMembreDernière intervention13 avril 2010 13 avril 2010 à 12:05
Bonjour,
désolé de ne pas préciser la première fois mais mon m'affiche ceci:
ERROR: Agent Agent002 died without being properly terminated !!!
State was 2
et encore merci.