1
두 옥의 에이전트가 있는데 하나의 에이전트에서 다른 에이전트로 개체를 보내고 싶습니다. setContentObject()
및 getContentObject()
메서드를 사용하여 두 번째 에이전트가 개체를 수신 할 수는 있지만 잘되지 않았습니다. 예를 들어, 객체의 변수를 얻을 수있는 방법을 찾을 :
에이전트간에 개체 보내기
public class Person implements Serializable{
private String firstName;
private String lastName;
public String getFirstName(){
return firstName;
}
public void setFirstName(String fName){
this.firstName=fName;
}
public String getLastName(){
return lastName;
}
public void setFirstName(String lName){
this.lastName=lName;
}
}
Agent1을 :
public class Agent1 extends Agent{
@Override
protected void setup() {
addBehaviour(new OneShotBehaviour(this) {
@Override
public void action(){
ACLMessage aclmsg = new ACLMessage(ACLMessage.REQUEST);
aclmsg.addReceiver(new AID("Agent2", AID.ISLOCALNAME));
aclmsg.setContentObject(Person);
send(aclmsg);
});
}
}
}
Agent2을
public class Agent2 extends Agent{
@Override
protected void setup() {
addBehaviour(new CyclicBehaviour(this) {
@Override
public void action(){
ACLMessage msg = receive();
if(msg!=null){
//Here i want to get the first name of the object Person
}
});
}
}
}
그래서 내 질문은 보낸 사람 Person의 firstName을 검색 할 수 있습니까?
읽기 – Pain