2017-04-21 7 views
-1

수신 에이전트에서 "a"및 "b"값을 가져와야합니다. 어떻게해야합니까? 내가 바로 질문을 undestood 경우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

, 뭔가 같이 한 요청이 수신되지 않는 (예를주기 행동) 동작을 사용 :

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