2012-04-20 92 views
4

其實我正在開發跟蹤應用程序,並希望在兩個Android手機之間發送位置更新,以便兩者都可以在地圖上跟蹤對方。我的應用程序必須從其他Android設備獲得實時更新以獲得更好的跟蹤。
找遍了幾個技術,但不知道哪一個是最好連接兩個Android手機,通過WIFI在它們之間傳輸數據

使用套接字:使一個設備作爲服務器,而其他的客戶端
可能的限制:

  • 如果什麼服務器的IP地址發生更改(因爲WIFI沒有 靜態IP)
  • 如果服務器的IP地址是專用的,則無法訪問
  • 只有客戶端可以連接到服務器和服務器無法連接到客戶端

使用中間服務器:創建中間服務器,並通過該服務器進行通信。
可能的限制:

  • 緩慢,因爲每一個Android設備首先發送這些更新到服務器 然後服務器這些更新推送至其他Android設備

請提供您的建議關於哪一個是最好的方法來做到這一點。

回答

1

由於您未聲明要支持的設備API級別,因此我會爲您提供適用於Android v4(API級別14)設備的選項。它被稱爲Wi-Fi Direct,並允許電話之間的p2p連接。它本質上是您的套接字方式,但允許輕鬆發現鄰居並允許雙向傳輸。

+0

感謝您的回覆。我正在開發API級別10,因此我無法直接使用Wi-Fi。 – 2012-04-20 17:25:15

0

無線網絡出來..至少不是你說的目的。除非你的地圖很小。無線上網可以說是100米(在一個非常美好的一天)

不像我對其他手機那麼瞭解,我會說你有些痛苦。 我懷疑用點對點連接到你的手機可能是一個真正的難題。有些提供商不會讓它發生。

我有一個辦法比一個答案..
從android手機,看看你是否可以得到你的ip地址。
從一張桌子,ping那個ip地址。
如果它能正常工作,您就可以順利完成工作。
我甚至會說如果給定您的信息的大小,您可以使用ping作爲您的主要數據載體。
Pings可以包含多個隨機字節。您可以在通過ping發送的內容中包含一個ID和GPS。
---也許包括一個校驗和---

做大部分的辦公桌電話,因爲發展會更快..然後當你的手機能夠捕捉ping ..那麼發送ping應該很容易。

相關問題