0
我正在開發和使用玉的應用程序,您可以在計算機之間進行通信。我想知道的是如何獲得在接收消息時發送消息並希望在消息的「其他」中的sysout語句中顯示的代理的地址。獲取JADE代理地址,同時收到消息
protected void setup(){
super.setup();
//receiving message
addBehaviour(new CyclicBehaviour(this){
public void action() {
ACLMessage msg= receive();
if (msg!=null){
String s = msg.getContent();
String os, browser, tool, agentName, finalVal;
String[] elements = s.split(":");
if(elements.length > 0){
if(elements[0].equals("property_file")){
String[] property = new String[elements.length-1];
for(int i = 1; i < elements.length; i++){
property[i-1] = elements[i];
System.out.println(property[i-1]);
}
os = property[0];
browser = property[1];
tool = property[2];
agentName = msg.getSender().getName();
finalVal = agentName + ":" + os + ":" + browser + ":" + tool;
CreateText cret = new CreateText();
cret.writeText(finalVal);
}else{
System.out.println("<=" + myAgent.getLocalName() + " gets reply \"" + msg.getContent() + "\" sent by " + msg.getSender().getLocalName() + '\n');
sendRep(msg);
}
}
block();
}
}
});
}
如果地址將會像「http://[email protected]:7778/acc」,並有使用的格式是,如果我想在以後發送消息。該功能將是這樣的。在這裏我已經硬編碼了地址的值。
public void sendMessage(String message){
ACLMessage msg = new ACLMessage(ACLMessage.INFORM);
AID r = new AID("[email protected] ", AID.ISGUID);
//r.addAddresses("http://[email protected]:7778/acc");
msg.setContent(message);
msg.addReceiver(r);
send(msg);
}