简体   繁体   English

如何接收来自不同代理的消息

[英]How to receive messages from different Agents

我有 4 个具有自动收报机行为的代理,他们在每一步后将值发送到接收器代理,我希望此接收器将从代理接收到的值存储在 4 个数组中(每个数组对应一个发送者)我如何实现接收器代理行为?

Something like this像这样的东西

public class ReceiveMessageBehaviour extends CyclicBehaviour {
  private Map<AID, String[]> values = new HashMap<>();
  
  @Override
  public void action() {
      ACLMessage aclMessage = myAgent.receive();
      if(aclMessage == null){
          return;
      }
      String value = aclMessage.getContent();
      String[] aidValues = values.get(aclMessage.getSender());
      if(aidValues == null){
          aidValues = new String[]{value};
          values.put(aclMessage.getSender(), aidValues);
      } else {
          values.put(aclMessage.getSender(), ArrayUtils.add(aidValues, value));
      }
  }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM