Модемы: связь между компьютерами
Модемы CC:Tweaked передают сообщения между компьютерами и черепашками. Подключите модем, выберите одинаковый канал и запустите программу приёма на втором устройстве.
В этой статье
Какой модем выбрать
| Модем | Где работает | Как подключить |
|---|---|---|
| Проводной | В одной кабельной сети | Установите модем у компьютера и соедините модемы сетевым кабелем |
| Беспроводной | В одном измерении, обычно до 64 блоков на небольшой высоте | Установите модем непосредственно на компьютер или черепашку |
| Эндер-модем | Без ограничения расстояния, в том числе между измерениями | Используйте эндер-модемы на обоих концах связи |
У обычного беспроводного модема дальность увеличивается с высотой. На Astra и Atlas настроены 64 блока на небольшой высоте и до 384 блоков высоко в мире. Для связи на произвольном расстоянии выбирайте эндер-модемы.
ПКМ по проводному модему переключает доступ к подключённому компьютеру или периферии через сеть. Это не открывает канал приёма сообщений в программе.
Что понадобится
- Два компьютера или черепашки с подходящими модемами.
- Сетевой кабель для проводного соединения.
- Один номер канала для отправителя и получателя: в примере используется
123.
Приём сообщений
На принимающем компьютере создайте программу receive:
local modem = peripheral.find("modem")
assert(modem, "Подключите модем")
local channel = 123
modem.open(channel)
print("Ожидаю сообщения на канале " .. channel)
while true do
local _, side, receivedChannel, replyChannel, message =
os.pullEvent("modem_message")
if receivedChannel == channel then
print(textutils.serialize(message))
end
end
Запустите receive и оставьте программу работающей.
Отправка сообщения
На другом компьютере создайте программу send:
local modem = peripheral.find("modem")
assert(modem, "Подключите модем")
local channel = 123
modem.transmit(channel, channel, "Привет из сети!")
Запустите send. На принимающем компьютере появится сообщение.
modem.open(123) открывает канал для приёма, а modem.transmit(123, 123, message) отправляет сообщение: первый номер — канал назначения, второй — канал для ответа. Для одной только отправки открывать канал не нужно.
Номер канала — целое число от 0 до 65535. Вызов modem.open() без номера не работает. Если меняете 123, замените его в обеих программах.
Если сообщение не приходит
Проверьте, что модем найден, программа приёма запущена и номера каналов совпадают. Проводные модемы должны быть соединены одной кабельной сетью, обычные беспроводные — находиться в пределах дальности и в одном измерении.
Канал не является паролем: другие компьютеры с доступом к сети могут слушать тот же канал. Не передавайте в сообщениях секреты.