2008-10-02 223 views
7

我想讓用戶可以方便地將他們的NAT上的端口轉發到他們的本地計算機上用於我的C++應用程序。我想在OSX & Windows上完成這項工作。 Linux將是一項巨大的獎勵,但是Linux用戶可能更加舒適的手動轉發端口,所以它不太受關注。 LGPL類型的代碼是可以的,但我不能使用任何直接的GPL。什麼是NAT端口轉發的最佳選擇?

我很想聽到任何想法或經驗的人在這方面已經有了,但有幾個具體的問題浮現在腦海中:

  • 是否有UPNP公認的最好的圖書館嗎? MiniUPNP客戶端看起來可能會工作,但還有其他的東西嗎?
  • Bonjour怎麼樣?我可以依靠OSX電腦嗎?
  • 所有的大型BT軟件都需要處理這個問題,那麼他們是如何進行調查的? Skype怎麼樣?
+0

Skype不需要以純模式轉發端口 - 它使用中繼(與許多IM一樣):所以客戶端的連接即將離任。 – 2009-05-10 04:51:51

回答

2

MiniUPNP被至少一個bittorrent客戶端(傳輸)使用,應該可以正常工作。

0

OS X和Windows上的Bonjour都可用於與支持uPNP或NAT-PMP的路由器進行端口映射。我沒有使用API (DNSServiceNATPortMappingCreate),但我已經在NAT和PMP路由器之後的Windows和OS X上成功發佈了廣域服務。我不確定您的Windows用戶是否會想要安裝Bonjour(雖然他們可能已經擁有它,如果他們使用iTunes或Safari)來使用您的應用程序,但在OS X支持上不應該是一個問題。

+0

你可以在這裏提供源代碼嗎?用於iOS中的端口映射。我嘗試過使用MiniUPNP,但對我來說沒有運氣。 – 2011-09-11 20:40:08

相關問題