2017-04-21 8 views
-1

受信エージェントの "a"と "b"の値を取得する必要がありますか?JADE ACL-メッセージ

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; 

    } 
} 

答えて

0

私は右の質問をundestoodしている場合は、限り、要求が受信されていないとして、このようなもの(例えば、サイクル動作のための)動作を使用します。

public void action() { 
    ACLMessage msg = myAgent.receive(); 
    if (msg != null) { 
     Message received. Process it ... 
     msg.getContent(); 
    } else { 
     block(); 
}