2012-05-25 17 views
1

這是一個奇怪的問題,但我知道這是可能的。將數據包廣播到沒有連接的電話

我想在特定的頻率上廣播數據包,我希望手機運行一個應用程序來接收這些數據包。手機不需要連接到任何網絡來做到這一點,但只需打開wifi即可。廣播設備不需要從電話獲取任何信息,並且不需要保證將每個分組傳送到電話,就像UDP一樣。

我從哪裏開始?這對手機而言可能沒有根源。有沒有這樣的FCC規定(通過標準的無線頻譜)。

我知道這是可能的,因爲它正是路由器告訴他們可以連接的電話的方式。預先感謝您的任何意見。

回答

0

雖然類似的技術可能存在,但我並不熟悉iOS開發。

無根

,但需要在Android

粗粒度和/或細粒度的位置的權限可以使用WifiManager.getScanResults()掃描無線路由器的廣播。

結果中包含網絡「名稱」(SSID)和路由器MAC地址(BSSID)。您可以廣播這些數據包並將數據編碼到這些字段中。

這麼說,我希望你的消息很短,你會得到每包(32 SSID bytes + 6 MAC地址字節)的38個字節。

是,一些MAC地址是一種特殊的或無效的,但如果你只是廣播,而不是實際使用的時候,他們仍然可以傳輸數據。

用root

根據無線芯片組和驅動程序支持,您可以把該設備進入「監控模式」,它允許您訪問的原始數據包數據。

的主要缺點是,有沒有它的官方支持。

您可能會發現從Google search這樣做的一些hacky方法,但我無法找到適用於所有(甚至大多數)設備的任何通用解決方案。