JADE ACL-сообщение

Мне нужно получить значение "a" и "b" в агентах получения, как это сделать, пожалуйста?

public class EnvoiMessage extends CyclicBehaviour {

    private boolean finished = false;

    public void action() {
        ACLMessage msg = new ACLMessage(ACLMessage.INFORM);
        msg.setContent(+a + "" + b);
        AID receiver1 = new AID("B", AID.ISLOCALNAME);
        AID receiver2 = new AID("C", AID.ISLOCALNAME);
        AID receiver3 = new AID("D", AID.ISLOCALNAME);
        AID receiver4 = new AID("E", AID.ISLOCALNAME);
        msg.addReceiver(receiver1);
        msg.addReceiver(receiver2);
        msg.addReceiver(receiver3);
        msg.addReceiver(receiver4);
        send(msg);
        finished = true;

    }
}

1 ответ

Если я правильно понял вопрос, используйте поведение (например, циклическое поведение), пока запрос не получен, что-то вроде этого:

public void action() { 
   ACLMessage msg = myAgent.receive(); 
   if (msg != null) {
       Message received. Process it ... 
       msg.getContent();
   } else {
       block(); 
} 
Другие вопросы по тегам