Объект «mailbox»
Реализует связь между роботами в сети посредством механизма почтовых ящиков.
Метод
Описание
Подключается к роботу с заданным IP-адресом по заданному порту (или порту по умолчанию)номеру. Сообщает ему свой бортовой номер и регистрируется в сети «почтовых ящиков».
Возвращает true, если роботу пришло новое сообщение.
Возвращает бортовой номер робота.
Посылает сообщение после получения сообщения.
Получает новое сообщение или блокирует исполнение скрипта до тех пор, пока сообщение не придёт.
Посылает роботу с указанным бортовым номером (или всем роботам) указанное сообщение.
joinNetwork
Подключается к роботу с заданным IP-адресом по заданному порту (или порту по умолчанию), сообщает ему свой бортовой номер и регистрируется в сети «почтовых ящиков».
Синтаксис
mailbox.joinNetwork("ip", port, hullNumber)
mailbox.joinNetwork("", port, hullNumber)mailbox.joinNetwork("ip", port, hullNumber);
mailbox.joinNetwork("", port, hullNumber);В качестве параметров необходимо указать IP-адрес робота, порт и бортномер. В случае, если порт не указан, используется порт по умолчанию. Борт номер должен быть положительным числом, начиная с 1. Если не указан IP-адрес, но изменен бортномер, то происходит смена бортномера без подключения.
Пример
mailbox.joinNetwork("192.168.77.1", -1, 1)
//Подключение к 192.168.77.1, порту 8889 без смены бортномера
mailbox.joinNetwork("192.168.77.1", -1, 2)
//Подключение к 192.168.77.1, порту 8889 со сменой бортномера на 2
mailbox.joinNetwork("", -1, 2)
//Смена бортномера без подключенияmailbox.joinNetwork("192.168.77.1", -1, 1);
//Подключение к 192.168.77.1, порту 8889 без смены бортномера
mailbox.joinNetwork("192.168.77.1", -1, 2);
//Подключение к 192.168.77.1, порту 8889 со сменой бортномера на 2
mailbox.joinNetwork("", -1, 2);
//Смена бортномера без подключенияhasMessages
Возвращает true, если роботу пришло новое сообщение.
Синтаксис
mailbox.hasMessages()mailbox.hasMessages();myHullNumber
Возвращает бортовой номер робота.
Синтаксис
x = mailbox.myHullNumber()var x = mailbox.myHullNumber();newMessage
Посылает сообщение после получения нового сообщения.
Синтаксис
mailbox.newMessage.connect(lambda sender, message: print(message))mailbox.newMessage.connect(function(sender, message) { print(message); });Первый параметр — бортовой номер отправителя, второй — само сообщение.
receive
Получает новое сообщение или блокирует исполнение скрипта до тех пор, пока сообщение не придёт.
Синтаксис
message = mailbox.receive()var message = mailbox.receive(); send
Посылает роботу с указанным бортовым номером (или всем роботам) указанное сообщение.
Синтаксис
mailbox.send("message")
mailbox.send(hullNumber, "message")mailbox.send("message");
mailbox.send(boardNumber, "message");В качестве параметра необходимо указать бортовой номер робота, которому хотите послать сообщение и сообщение. Если бортовой номер не указан, то сообщение отправляется всем роботам, зарегистрированным в сети.
Пример
mailbox.send(1, "Hello") # отправка сообщения роботу с бортовым номер 1mailbox.send(1, "Hello"); // отправка сообщения роботу с бортовым номер 1Last updated
Was this helpful?