P2P-связь, чат-приложение (Android)

Я использую этот учебник в качестве руководства. Я создаю приложение для Android, которое в основном является чат-приложением. для связи используется программирование сокетов.

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

i следил за учебником, о котором я упоминал выше, и это работает только в том случае, когда клиент и сервер находятся в пределах одного Wi-Fi/сети. я хочу подключиться к серверу от клиента, независимо от места их подключения к сети. как я могу сделать это из любой сети в любую сеть.

Мне кажется, мне нужно использовать переадресацию портов, но это нецелесообразно. поэтому мы лучше используем сервер для отслеживания всех изменений ip. и доставлять сообщения непосредственно от источника к клиенту. так как я это делаю. пожалуйста, предложите любые ресурсы.

Обновление

на данный момент я изучил, что я должен использовать innetaddress для связи, если я внутри маршрутизатора wifi.

Благодарю вас

Ответы