我想将两部手机连接在一起,以实现某种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