我想將兩部手機連接在一起,以實現某種P2P風格的連接,並且自然而然地這樣做,我需要手機能夠互相交流其IP地址。我一直在玩弄很多關於如何做到這一點的想法,我意識到一件事是電話號碼是手機的唯一標識符,因此我想知道它是否可以用來獲取IP地址。有沒有辦法根據手機號碼從手機獲取WAN IP地址?
我想我可以通過短信傳送某些信息,這些信息會被加密,看起來非常糟糕,然後被刪除,但這會有點破壞性,而且做起來非常麻煩。我仍然主要計劃我的項目的這個領域,並會接受建議。
任何幫助將不勝感激,謝謝你提前! :0)
我想將兩部手機連接在一起,以實現某種P2P風格的連接,並且自然而然地這樣做,我需要手機能夠互相交流其IP地址。我一直在玩弄很多關於如何做到這一點的想法,我意識到一件事是電話號碼是手機的唯一標識符,因此我想知道它是否可以用來獲取IP地址。有沒有辦法根據手機號碼從手機獲取WAN IP地址?
我想我可以通過短信傳送某些信息,這些信息會被加密,看起來非常糟糕,然後被刪除,但這會有點破壞性,而且做起來非常麻煩。我仍然主要計劃我的項目的這個領域,並會接受建議。
任何幫助將不勝感激,謝謝你提前! :0)
您可以使用動態DNS服務,使用電話號碼作爲主機名。換句話說,您只需執行DNS查找4255551212.dyndns.com
,你會得到給定電話號碼的最後一個已知IP地址。
動態DNS服務是爲了讓撥號(或經常更改IP地址)的用戶在其計算機上運行服務器,並且主機名稱沒有更改而發明的。它的工作方式是,計算機上有一個客戶端,它可以定期將其IP地址報告給服務器,服務器將其置於指定主機名下的DNS服務器上的區域文件中。 DNS記錄的生存時間很短(例如一分鐘),以避免過時的地址信息被緩存。
有一個Android的動態DNS客戶端,在市場上尋找DynDNS並試用它。
您可以運行自己的動態DNS服務器或使用現有的一個(有很多,一些免費)。如果你這樣做,我會建議你自己跑;那麼你可以包含某種認證來防止我在評論中提到的隱私問題。
您會發現一個問題,3G/cell連接不提供IP地址。另外,如果您的手機位於路由器後面,則必須在路由器上進行端口轉發才能獲得P2P連接(不涉及中央服務器)。
也就是說,如果你想要外部IP地址,看起來http://www.whatsmyip.org/是最好的選擇。
注意:我不太瞭解kindall建議的動態DNS選項。
我很確定你不能直接這樣做。我認爲你需要兩部手機才能將電話號碼和IP轉移到你自己的服務器上,並通過那裏把所有的東西綁在一起。當涉及到電話號碼時,隱私問題將隨着您選擇的任何解決方案逐漸增加。
另外我不知道你是否真的可以直接從手機A連接到B,即使你有IP號碼?但我還不是App Dev,所以如果你可以在手機B上設置一個端點/開放套接字,你可能會更好。
感謝您的洞察力。我聽說協議可能會被阻止,所以連接問題並不令人意外,但我知道有些東西使用P2P作爲選項,所以我相當有信心可以找到解決方法。 – Matt 2011-06-10 19:50:46
你可以使用www.whatsmyip.org這樣的網站來幫助你IP地址
有可能是您的手機共享其與其他客戶
IP地址你也可以使用VPN或用湯或XMPP
*嘆*請原諒我的無知,這取決於你的應用程序的中介服務器,但我對網絡有點新鮮。你能向我解釋這是什麼意思嗎? – Matt 2011-06-10 19:41:58
或更確切地說,這是如何工作的......我的意思是......它直觀地命名爲 – Matt 2011-06-10 19:43:05
好的解決方案,這將起作用。 – Fredrik 2011-06-10 19:48:05