2010-05-28 73 views
1

有人可以向我解释几个非常简单的概念 - 我对运行android的移动设备以及它们如何通过网络进行识别感兴趣。有些场景:Android - 连接模式,设备识别和设备互通?

  • 设备连接通过WiFi - 大概是该设备具有一个标准的IP地址与任何主机,并可以与任何其他Android主机通过TCP/IP通信(假定知道参与设备的IP?
  • 设备连接蓝牙 - 如何被设备在这种情况下,确定
  • 设备连接在移动运营商的网络 - 这是一个我很感兴趣,和迷茫 - 反正是有两或更多设备来发现每个ot她和通过移动运营商的网络进行沟通?在这种情况下,设备如何与后端服务器通信?换句话说,当不是连接到WiFi网络时,应用程序和设备如何通信?

感谢您的任何建议..

回答

1

我只知道有关蓝牙的事情,所以我只回答这个问题的一部分:

设备上的蓝牙接口有一个MAC住址。因此,通过蓝牙进行通信时,可以假设此MAC地址是特定设备的唯一标识符。您也可以通过在这个MAC地址上建立连接来连接其他设备 - 但是,要想首先获得这个MAC地址,您必须从somwhere了解它,或者您必须先在reachabla地区搜索其他蓝牙设备。

1

WiFi和3G两者[移动]设备连接到互联网,因此它可以使网络连接。 3G为设备分配一个可公开寻址的IP,所以人们可能会打开服务器套接字并侦听连接。客户必须知道移动IP,这可能会经常改变。

蓝牙更适合靠近。在与它们配对之后,附近的设备可以连接到,这需要两个要通信的设备的配合。

如果目标是产生它连接到附近的设备的应用程序,我能想到的以下观点:

  • 3G:运行客户端注册它们的中央数据库服务器位置的所有设备。如果服务器检测到两个客户端非常接近,让他们知道这样他们就可以通过互联网或者通过服务器连接
  • 无线网络:您可以使用相同的思路3G,或者使用广播/多播数据包广播你的存在。其他应用程序可以侦听这些广播并发现附近的其他设备。
  • 蓝牙:有点棘手,因为设备必须置于可发现模式才能让其他人“看到它”。可发现模式是一种临时状态,只能持续约30秒(一次)。