2012-03-06 23 views
2

我試圖找出這是否可能:Android應用程序可以向其他手機發送數據包嗎?

我有興趣編寫一個簡單的遊戲,可以在對等設置中玩,而不必通過一些中介服務器。我正在考慮使用類似SMS的工作方式,但我不知道這些例程是否可訪問。

據我所知,SMS只是一個具有特定結構的數據包,並在某個端口上被髮送到電話號碼作爲唯一標識符,而不是IP地址。如果是這種情況,是否有可能使用類似的例程來發送短信到另一部手機的SMS,但以這種方式SMS不會撿起它,並且如果能理解該包的應用程序不是運行,那麼數據會被忽略?

+0

手機是否會靠近?然後使用藍牙,否則你需要某種服務器。短信是好的,但不夠實時和有限 – JPM 2012-03-06 19:06:17

+0

@JPM no。我的目的是做一些類似於桌面應用程序的東西,它可以作爲一個獨立的服務器,並允許其他程序通過IP連接到它。通過3/4G技術連接的每部手機都有一個IP地址。我正在研究僅根據電話號碼確定電話IP地址的可能性。 – 2012-03-08 21:19:56

+0

不知道你能做到這一點,但它的價值一槍我能夠使用ATT手機設置套接字服務,然後從專有設備傳達給它的手機。 – JPM 2012-03-10 01:15:09

回答

3

您可以編寫發送短信和接收短信的應用程序。有些事情要記住:

  • 短信往往是昂貴的,尤其是當與IP流量相比。
  • 用戶必須授予發送和讀取SMS到應用程序的權限。他可能不會這樣做,因爲他知道這很貴。
  • 即使用戶合同提供了SMS統一費率,供應商可能會限制實際發送的SMS數量或禁止自動化的高流量使用。
  • 短信可能比IP數據包慢得多。
  • 如果用戶試圖與未安裝該應用程序的用戶進行遊戲,那麼該窮人將使他的SMS收件箱充滿這些SMS。

因此,爲此目的使用SMS通常是一個壞主意。如果用戶彼此接近,可以選擇一些替代品:

  • 使用藍牙。
  • 使用Wifi(大多數android手機不允許ad-hoc連接,但有些手機可以作爲acces點,以便其他人可以連接到它)。
  • 也許:使用NFC(只有一些最新的手機有這個,我不知道你是否可以使用NFC)。
  • 通過互聯網使用P2P(這需要至少一個提供商允許其公共IP上的傳入連接,例如沒有內部NAT)。
  • 使用處理手機之間流量的服務器。
+0

SMS是一種與標準TCP流量不同的服務和/或協議嗎?有什麼方法可以根據您的電話號碼獲取電話的IP地址嗎? – 2012-03-07 18:15:57

+0

正確,兩者都不同。舊手機支持某種SMS協議,但沒有TCP協議棧。最近的智能手機可以同時擁有,但仍然有很多智能手機並不總是連接到互聯網。只有當手機有互聯網連接時,它才具有IP地址(通常每次重新連接時都會更改),因此無法將電話號碼映射到IP地址。 – 2012-03-13 17:32:33

相關問題