Я борюсь за реализацию связи по локальной сети между двумя устройствами. Я не хочу открывать какие-либо порты на каждой стороне. Сообщение будет обмениваться некоторыми данными.
При наличии двух устройств в одной сети LAN создание связи не является проблемой, когда одна сторона открывает порт.
Проблема возникает, когда я хочу обеспечить минимальное количество открытых портов между хостами, но я не думаю, что есть простой способ сделать это.
Я думал об использовании широковещательного домена в качестве канала связи, поэтому устройство HOST1 отправляет зашифрованное сообщение на широковещательный адрес, а HOST2 прослушивает широковещание и расшифровывает сообщение.
Уменьшено это, все устройства в локальной сети будут получать сообщение, таким образом накладывая некоторые (?) Накладные расходы на сеть.
Могу ли я использовать другие способы, кроме широковещательного?
from socket import *
cs = socket(AF_INET, SOCK_DGRAM)
cs.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
cs.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
cs.sendto('This is a test', ('255.255.255.255', 54545))