【问题标题】:Connecting two Android phones to transfer data between them over WIFI连接两部安卓手机,通过WIFI在它们之间传输数据
【发布时间】:2012-04-20 06:26:01
【问题描述】:

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

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

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

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

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

请向我提供你的建议,看看哪一种是最好的方法。

【问题讨论】:

    标签: android web-services sockets communication


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回复。我正在为 API 级别 10 开发,所以我不能直接使用 Wi-FI。
    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2015-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 2012-03-03
      • 1970-01-01
      相关资源
      最近更新 更多