4

实际上,我正在开发跟踪应用程序,并希望在两部 Android 手机之间发送位置更新,以便两者都可以通过地图相互跟踪。我的应用程序必须从其他 android 设备获取实时更新,以便更好地跟踪。
我已经搜索了几种技术,但不知道哪一种最好

使用套接字:使一个设备作为服务器,而另一个作为客户端
可能的限制:

  • 如果服务器的IP地址改变了怎么办(因为WIFI没有静态IP)
  • 如果服务器的 IP 地址是私有的,则无法访问
  • 只有客户端可以连接到服务器,服务器不能连接到客户端

使用中间服务器:创建中间服务器并通过该服务器进行通信。
可能的限制:

  • 慢,因为每个 Android 设备首先将这些更新发送到服务器,然后服务器将这些更新推送到其他 Android 设备

请向我提供关于哪一个是最好的方法的建议。

4

2 回答 2

2

由于您没有说明您想要支持的设备 API 级别,我将为您提供适用于 Android v4(API 级别 14)设备的选项。它被称为Wi-Fi Direct,允许手机之间的 p2p 连接。它本质上是您的套接字方法,但允许轻松发现邻居并允许双向传输。

于 2012-04-20T06:35:05.003 回答
1

好吧 wifi 出来了.. 至少不是为了你所说的目的。除非你的地图很小。Wifi 是说 100 米(在一个非常好的一天)

不像我对其他手机那样了解android,我会说你很痛苦。我怀疑通过点对点连接到您的手机可能是一个真正的难题。有些提供商不会让它发生。

我的方法不仅仅是答案..
从安卓手机,看看你是否能得到你的 IP 地址。
在办公桌上,ping 那个 IP 地址。
如果它有效,那么你就在路上了。
我什至可以说考虑到你的信息的大小,你可以使用 ping 作为你的主要数据载体。
Ping 可以包含的不仅仅是随机字节。您可以在 ping 中发送的内容中包含 ID 和 GPS。
--- 也许包括一个校验和 ---

把大部分办公桌上的电话都做,因为开发会更快..然后当你的手机能够捕捉到 ping.. 那么发送 ping 应该很容易。

于 2012-04-20T07:10:09.600 回答