Какова общая коммуникационная архитектура для двух приложений для Android?
Дело 1:
У меня есть два приложения для Android,
a) Один из них - это сервер, который ожидает клиентского запроса, обрабатывает запрос (читает данные из некоторой базы данных sqlite) и возвращает результаты клиенту. Это серверное приложение работает на своем независимом телефоне Android.
b) Второй - это клиент, который отправляет запрос серверному приложению в (a), и он тоже работает на своем независимом телефоне Android.
Вопрос в том, должны ли два приложения проходить через поставщика услуг мобильной связи для обеспечения связи? или они могут просто общаться друг с другом напрямую через какой-либо общедоступный IP / WIFi и т. д. Какова структура / архитектура связи для этих приложений?
Дело 2:
У меня есть приложение для Android, работающее на независимом телефоне Android, и я хочу, чтобы оно взаимодействовало с каким-либо серверным приложением (веб-сервером / сервером приложений), запущенным на каком-либо компьютере в Интернете, отправляло запрос и получало обратную связь.
Опять же, должны ли два приложения проходить через поставщика мобильных услуг для облегчения связи? или они просто устанавливают прямую связь по TCP / IP через какой-то общедоступный IP-адрес?
Любые справочные статьи действительно помогут.
Спасибо
Гаф