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