Вы смотрели на библиотеку Qualcomm AllJoyn ? Он предназначен для работы через Bluetooth или Wi-Fi, поэтому может подойти, хотя, если вы подключаетесь через 3G или более широкую сеть, он не будет работать.
Учитывая различия и надежность сетей между двумя удаленными устройствами, не находящимися в одной сети, я бы задал вопрос, является ли одноранговое соединение лучшим решением, и рискнул бы предложить рассмотреть возможность использования сервера приложений между ними, поэтому вы затем можно использовать Обмен сообщениями в облаке на устройство [устарело] (возможно, в тандеме с Google App Engine). то есть, чтобы отправить сообщение, отправитель передает его на сервер, а затем сервер передает его получателю.
Теоретически все устройства в сети имеют уникальный IP-адрес и могут общаться друг с другом, но редко бывает так просто, поскольку маршрутизаторы / брандмауэры настроены по-разному, поэтому вам нужно уделять большое внимание используемым портам, особенно учитывая, что многие входящие порты по умолчанию заблокированы из соображений безопасности.