两个Android应用程序的通用通信架构是什么?
案例1:
我有两个Android应用程序,
a)一个是等待客户端请求的服务器,处理请求(从某个sqlite db读取数据)并将结果返回给客户端。这个服务器应用程序在自己独立的Android手机上运行。
b)第二个是将请求发送到(a)中的服务器应用程序的客户端,它也可以在自己独立的Android手机上运行。
问题是,这两个应用程序是否必须通过移动服务提供商才能进行通信?或者他们可以通过一些公共IP / WIFi直接相互通信等。这些应用的通信结构/架构是什么?
案例2:
我有一个在独立的Android手机上运行的Android应用程序,我想让它与某些服务器应用程序(Web服务器/应用程序服务器)交谈,这些应用程序在互联网上的某个机器上运行,发送请求并获得一些反馈。 / p>
同样,这两个应用程序是否必须通过移动服务提供商来促进沟通?或者他们只是通过一些公共IP建立直接的TCP / IP通信?
任何参考文章都会有所帮助。
由于
加特
答案 0 :(得分:3)
问题是,做两个申请 必须通过移动服务 提供通信的提供商?
如果你想使用3G,是的。如果你想使用WiFi,没有。通常,Android应用程序并不关心Internet连接的来源。
或者他们可以互相交谈 直接通过一些公共IP / WIFi等。
如果他们有WiFi连接,则他们有WiFi连接。您使用Java套接字,并使用Java访问权限(例如,NAT)来解决所有正常的WiFi连接问题。
同样,这两个应用程序必须这样做 通过移动服务提供商 为了方便沟通?或者他们 只需建立一个直接的TCP / IP 通过一些公共IP进行通信?
你要求一个Java套接字。你得到一个Java套接字。您使用Java套接字执行某些操作。那个Java套接字的来源以及它的连接如何工作通常都在幕后:3G,WiFi,一个非常小的客座中队等等。
答案 1 :(得分:1)
我建议Android – IPC, aidl and IBinder和Grasping Android's IPC mechanism作为开始。之后,只需在Google上搜索'Android IPC'
答案 2 :(得分:0)
有关同步的信息,请Synchronization in Android