Я пытаюсь установить мультиагентную систему в распределенной сети (компьютер Windows и Raspberry pi с установленной ОС Raspbian). Я запускаю свою нефритовую платформу на windows с помощью этой команды:
java mylibrary jade.Boot -gui -platfrom-id Platform1 -agents starter:Starter
Я также запускаю свою нефритовую платформу на Raspbian с помощью этой команды:
java mylibrary jade.Boot -gui -platform-id Raspy1 -agents starter:Starter
Это Starter. java на обоих компьютерах:
import jade.core.Agent;
import jade.core.behaviours.CyclicBehaviour;
import jade.lang.acl.ACLMessage;
import java.util.Arrays;
public class Starter extends Agent {
@Override
protected void setup() {
System.out.println("Setup of starter agent");
addBehaviour(new ReceiveBehaviour());
}
private class ReceiveBehaviour extends CyclicBehaviour {
@Override
public void action() {
ACLMessage msg = myAgent.receive();
if (msg != null) {
System.out.println(msg.getContent());
System.out.println(Arrays.toString(msg.getSender().getAddressesArray()));
ACLMessage reply = msg.createReply();
reply.setContent("I got it. Thank you " + msg.getSender().getName());
myAgent.send(reply);
} else {
block();
}
}
}
}
Кроме того, это mtpaddress в моем windows: <a href="http://192.168.1.6:7778/acc" rel="nofollow noreferrer">http://192.168.1.6:7778/acc</a>
, и это mtpaddress на моем raspbian: <a href="http://raspy1:7778/acc" rel="nofollow noreferrer">http://raspy1:7778/acc</a>
Оба моих компьютера подключены к локальной сети (беспроводному модему) с помощью Wi-Fi.
Теперь происходит следующее: я запускаю свою платформу на обоих компьютерах, запускаю DummyAgent на windows и попробуйте отправить сообщение на распбианскую платформу. Поэтому я добавляю получателя и помещаю имя и адрес, как на изображении
ниже: DymmyAgent в моем windows, чтобы отправить сообщение моей малине
, и это вывод консоли:
Mar 06, 2020 7:45:33 PM jade.core.messaging.MessagingService deliverNow
WARNING: Cannot deliver message to address: http://raspy1:7778/acc [jade.mtp.MTPException: raspy1 - Caused by: raspy1]. Trying the next one...
Mar 06, 2020 7:45:33 PM jade.core.messaging.MessageManager$Deliverer run
WARNING: Deliverer Thread Deliverer-4 - Delivery-time over threshold (9322). Receiver = da0, message size = 301
( (action ( agent-identifier :name starter@Platform1 :addresses (sequence http://192.168.1.6:7778/acc )) (ACLMessage) ) (MTS-error ( agent-identifier :name da0@Raspy1 :addresses (sequence http://raspy1:7778/acc )) (internal-error "Foreign agent unreachable: No valid address contained within the AID da0@Raspy1")) )
[http://192.168.1.6:7778/acc]
Я могу отправить сообщение от DummyAgent на Raspberry на мою windows платформу, но обратного пути не произойдет. Что я могу сделать?