2011-12-12 78 views
1

我正在使用miniupnp添加端口映射到路由器,端口映射为“租赁”时间量,此刻我正在使用一个随机10小时,我的问题是:使用miniupnp和libnatpmp的端口映射

端口映射成功后,我应该定期ping路由器以检查端口是否仍然映射(例如每分钟或更少),还是我相信路由器将端口映射到整个持续时间租约,并且只在租约到期前几分钟检查才能更新它?

类似地,在成功的端口映射进行另一个呼叫以检索外部IP地址时,我是否相信该IP不会改变,或者我应该每隔几秒钟(或几分钟?)持续ping一次以验证外部IP地址没有改变?

+0

任何人的提醒,都要写那需要使用UPnP协议的打开和转发的端口的应用程序路由器? 假设桌面应用程序可能会从计算机开机运行到关机(例如在Dropbox中)。 您要求路由器保留端口/ IP转发多长时间? 假设一段时间X,你是否会定期ping路由器来检查端口的状态, 或者你会相信路由器在整个X持续时间内保持端口转发吗? 有什么建议吗? – andrea

回答

2

您可以订阅WAN ***连接(PPP或IP)的UPnP事件并捕获事件“PortMappingNumberOfEntries”。

我希望这会有所帮助。

1

不幸的是,如果IP更改或映射不再好,您不能依赖家庭路由器来正确触发正确的事件。

我建议定期(每隔几分钟)调用GetSpecificPortMappingEntry()和/或GetExternalIPAddress()