2011-12-12 116 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()