Если вы уже не знаете IP-адрес, назначенный другому узлу, вам нужно каким-то образом попросить устройства сообщить другим устройствам, что они существуют.
Определенно, эти устройства будут находиться в одной подсети?Если это так, вы можете попытаться возиться с тем, чтобы устройства отправляли «широковещательные» пакеты.Я понятия не имею, позволяет ли API-интерфейс Android получать их в реальных приложениях.
Более надежный подход, вероятно, заключался бы в том, чтобы запустить какой-нибудь централизованный сервер, на котором устройства регистрируются, когда они выходят в сеть, и предоставлять свой IP-адрес, когдарегистр.Затем они могут запросить тот сервер, для которого находятся другие устройства и какие у них IP-адреса.Если это центральный сервер в более широком Интернете, это означает, что, к сожалению, часть обнаружения устройств не является одноранговой - есть некоторые последствия для конфиденциальности.Еще одна вещь, если это центральный сервер, это то, что вам придется спроектировать процесс запросов так, чтобы он справлялся с NAT, чтобы запросы других устройств в вашей локальной сети были ограничены нужной сетью, но чтобы вы также получали их IP-адрес.