Я пытаюсь написать более простую клиент-серверную программу, используя свой ноутбук в качестве сервера и несколько устройств Android в качестве клиентов. Сервер прослушивает порт (скажем, 5902), пока клиент не попытается подключиться. Потоки создаются на сервере, и связь происходит.
В дружественной лабораторной среде практически без брандмауэра это работает отлично.
Дома у меня есть AT & T U-Verse с маршрутизатором Motorola NVG510 и брандмауэром по умолчанию. Я понимаю, что мне нужно открыть этот порт на брандмауэре для каждого устройства, потому что теперь NVG510 открывает порты - для каждого устройства отдельно.
Но попытка открыть один и тот же порт на нескольких устройствах приводит к ошибке конфликта крошечных отверстий (я так понимаю, именно так это и звучит: открытие порта - это крошечное отверстие, а конфликт с одним и тем же портом, открытым для двух устройств, является конфликтом).
Есть ли способ сделать то, что я пытаюсь сделать на моем домашнем маршрутизаторе? Было бы неплохо поработать над этим проектом дома.
(Примечание: это строго о проблеме с сетью. Базовое клиент / серверное программное обеспечение работает в других средах.)
Обновление: в благоприятной лабораторной среде каждое устройство имеет свой IP-адрес. В моей домашней сети я ограничен адресами переадресации портов 192.168.1.x, которые, как я подозреваю, являются ключевым отличием.