2009-10-24 8 views
3

Какова общая коммуникационная архитектура для двух приложений для Android?Как два приложения для Android разговаривают друг с другом?

Случай 1:

У меня есть два андроид приложения,

а) один сервер, который ожидает запроса клиента, обработать запрос (чтение данных из некоторой БД SQLite) и возвращают результаты в клиент. Это серверное приложение работает на собственном независимом телефоне Android.

b) Второй клиент, который отправляет запрос серверному приложению в (a), и он также работает на своем собственном независимом телефоне Android.

Вопрос в том, должны ли эти два приложения проходить через поставщика услуг мобильной связи для обеспечения связи? или они могут просто разговаривать друг с другом напрямую через некоторые общедоступные IP/WIFi и т. д. Какова структура/архитектура связи для этих приложений?

Случай 2:

У меня есть андроид приложение, работающее на независимой андроид телефон, и я хочу, чтобы поговорить с некоторым приложением сервера (Web Server/Application Server) работает в какой-то машине где-то в интернете, передает запросить и получить некоторую обратную связь.

Опять же, нужно ли двум приложениям пройти через поставщика услуг мобильной связи для облегчения связи? или они просто устанавливают прямую связь TCP/IP через некоторый публичный IP?

Любые справочные статьи действительно помогут.

Благодаря

Gath

ответ

1

Я предлагаю Android – IPC, aidl and IBinder и Grasping Android's IPC mechanism для начала. После этого просто охотиться на Google для Android «IPC»

+2

На самом деле, ОП просит о разных телефонах; Android IPC работает только между различными приложениями на одном телефоне. – CommonsWare

+0

О, дорогая, как смущающе. Извините (румянец). – bugmagnet

3

вопрос, сделать два приложения должны пройти через Mobile Service Provider для обеспечения связи?

Если вы хотите использовать 3G, да. Если вы хотите использовать WiFi, нет. Как правило, приложениям Android не важно, откуда происходит подключение к Интернету.

или они могут просто разговаривать друг с другом непосредственно через некоторый общественный IP/WiFi и т.д.

Если у них есть подключение Wi-Fi, у них есть подключение Wi-Fi. Что вы делаете с этим соединением WiFi, зависит от вас, используя сокеты Java и уважая все обычные проблемы с доступом в Интернет (например, NAT).

Опять же, сделать два приложения должны пройти через оператора мобильной связи для облегчения общения? или они просто установить прямое соединение TCP/IP через некоторый публичный IP?

Вы запрашиваете сокет Java.Вы получаете Java-сокет. Вы делаете что-то с сокетом Java. Где что Java сокет приходит и как его связь работает, как правило, под одеялом: 3G, Wi-Fi, эскадрой очень маленьких пассажирских голубей и т.д.

Смежные вопросы