我有一个侦听端口的应用程序。我已经获得了一个WakeLock来确保该应用程序还可以在待机模式下进行监听。如果连接发生更改,应用程序将打开一个要侦听的新端口。但是,当路由器的IP发生变化时,应用程序打开/登录新端口的最佳方法是什么?可能有一个包路由器发送,当他们改变他们的IP(到互联网)通知他们的主机?或者我是否必须定期检查路由器的IP,如果它已经改变了?如果是这样,我如何检索路由器的互联网IP地址?
答案 0 :(得分:1)
我不相信有一种方法可以知道路由器设备已经改变了它的公共IP,因此您必须自己轮询它。我想到你可以做的两件事
获取免费的DNS重定向。大多数路由器支持某些no-ip.com
类型配置,因此您在此处输入凭据,每次获取或重新启动它都将登录到DNS重定向提供程序并更新它指向的IP。因此,您可以在一分钟内ping(或连接)您的动态主机并知道新的IP。在这种情况下,如果您注册simon.no-ip.com
,那么您将始终拥有当前的公共指示。但是,您必须检查路由器是否支持该功能。
轮询一些动态IP信息网站。有很多网站可以检索您当前的公共IP方向。您可以随时打开该网站并检查您的IP更新。示例网站为this。