Связь между двумя хостами с закрытыми портами - PullRequest
0 голосов
/ 03 мая 2019

Я борюсь за реализацию связи по локальной сети между двумя устройствами. Я не хочу открывать какие-либо порты на каждой стороне. Сообщение будет обмениваться некоторыми данными.

При наличии двух устройств в одной сети 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))
...