2015-02-23 2 views
1

Я хочу создать два агента Agent1, которые отправляют два значения сообщения в разное время в Agent2. Затем агент2 реализует действие в зависимости от полученных значений.Jade Two Agents communication

Используя Джейд, я попытался написать следующее:

-Agent1 с двумя addBehaviour (новый TickerBehaviour (это, время) методы

-Agent2 имеет addBehaviour (новый CyclicBehaviour()

Когда Я запустить программу, я ничего не получаю .. Та же программа работает, если я только отправить одно значение ..

Любое предложение?

Благодаря

ответ

3

нет никакой необходимости создавать как циклический и тикер поведение вас есть только для запуска агента приемника, а затем отправить сообщение, в следующем примере проверяется:

import jade.core.Agent; 
import jade.lang.acl.ACLMessage; 


public class AgentReceiver extends Agent { 
    public void setup(){ 
     ACLMessage msg = null; 
     msg = blockingReceive(); 
     System.out.println(msg.getContent()); 
    } 
} 

затем запустить отправитель один:

import jade.core.AID; 
import jade.core.Agent; 
import jade.lang.acl.ACLMessage; 


public class AgentSender extends Agent { 
    public void setup(){ 
     ACLMessage message = new ACLMessage(ACLMessage.INFORM); 
     message.addReceiver(new AID("AgentReceiver", AID.ISLOCALNAME)); 
     message.setContent("Hello The World"); 
     send(message); 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^