Конечно, есть.Хотя вам все равно нужно убедиться, что телефоны знают IP-адреса друг друга, и вы вряд ли достигнете этого без использования какого-либо сервера.
Что касается "загрузки сложнее", ммм.Если вы думаете, что было бы проще передавать данные между двумя телефонами напрямую, вы ошибаетесь.Для начала могут быть все виды брандмауэров, блокирующих входящие соединения в сети вашего поставщика услуг телефонии.
Загрузка данных на сервер не является "сложной", вам просто нужно написать серверную программу для ее обработки.В любом случае он вам понадобится, просто чтобы передать IP-адреса между телефонами, чтобы установить прямое соединение.
На вашем месте я бы начал с написания простого сервера и, возможно, просто загрузил бы на него адреса телефонов.(Конечно, тогда у вас есть сложность, связанная с необходимостью выяснить, как получить IP-адрес от операционной системы телефона, что может быть, а может и нетривиально.)
Однако, какой бы путь вы ни выбрали,Я рекомендую отправлять данные через HTTP / порт 80. Таким образом, меньше проблем с брандмауэрами.