我想将两部手机连接在一起以实现某种 P2P 风格的连接,当然要这样做,我需要手机能够相互传达其 IP 地址。我一直在想很多关于如何做到这一点的想法,我意识到的一件事是电话号码是电话的唯一标识符,因此我想知道它是否可以用来获取 IP 地址。
我想我可以通过 SMS 传输某些消息,这些消息会被加密,看起来很糟糕,然后被删除,但这会有点骇人听闻,而且是一种非常困惑的做事方式。我仍然主要计划我项目的这个领域,并且愿意接受建议。
如有任何帮助,我们将不胜感激,提前致谢! :0)
最佳答案
您可以使用动态 DNS 服务,将电话号码用作主机名。换句话说,您只需执行 DNS 查找,例如4255551212.dyndns.com
,您将获得给定电话号码的最后一个已知 IP 地址。
动态 DNS 服务的发明是为了让拨号上网的人(或经常更改 IP 地址的人)在其计算机上运行主机名不变的服务器。它的工作方式是,计算机上有一个客户端定期向服务器报告其 IP 地址,服务器将其放入 DNS 服务器上指定主机名下的区域文件中。 DNS 记录的生存时间很短(例如一分钟),因此不会缓存过时的地址信息。
Android 有一个动态DNS 客户端,在市场上寻找DynDNS 并尝试一下。
您可以运行自己的动态 DNS 服务器或使用现有的(有很多,有些是免费的)。如果你这样做,我建议你自己经营;那么您可以包括某种身份验证以防止我在评论中提到的隐私问题。
关于java - 有没有办法根据电话号码从电话中获取 WAN IP 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6311257/