连接两部Android手机,通过WIFI在他们之间传输数据

时间:2012-04-20 06:26:02

标签: android web-services sockets communication

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

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

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

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

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

请告诉我你关于哪一个是最佳方法的建议。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

好的无线网络已经出局..至少不是出于你声明的目的。除非你的地图很小。 Wifi就是说100米(非常好的一天)

我不会像其他手机那样了解Android,我会说你有些痛苦。 我怀疑与点对点连接到你的手机可能是一个真正的困境......一些提供商不会让它发生。

我的方法不仅仅是答案..
从Android手机,看看你是否可以获得你的IP地址。
从桌子上ping那个ip地址。
如果它有效,你就可以顺利进行..
我甚至说,鉴于您的信息大小,您可以使用ping作为您的主要数据载体。
Ping可以包含的不仅仅是随机字节。您可以在ping中发送的内容中包含ID和GPS。
---也许包括一张支票---

大多数办公桌要打电话,因为开发速度会更快..那么当你的手机能够捕捉ping时......那么发送ping应该很容易。