2011-03-22 46 views
2

我正在研究一個實時視頻Java應用程序,並遇到了NAT遍歷的常見問題 - 兩臺計算機可以在本地網絡上互相連接,但不能在NAT後面連接。 我已經做了一些研究,最簡單的選擇是讓我的頭部是JSTUNT library from CornellJava Stunt和URI發現

但是,它似乎要求您使用一個URI來連接計算機,我真的不知道如何做到這一點 - 有沒有一種方法可以在Java中發現自己的URI?

他們的STUNTServer類似乎被設計來做到這一點,但就我的工作而言,只能返回socket.getSocketAddress() - 它看起來與URI不一樣。

任何有識之士將不勝感激。

回答

0

我試圖讓這個庫工作,但不成功。我一直與這個項目的作者聯繫,他告訴我,它只是爲測試和研究目的而開發的。他還告訴我,這不是生產準備,需要一些嚴肅的返工。

要回答你的問題:

有沒有在Java中發現自己的URI的一種方式?

問題是關於通過NAT發現映射到您的私有IP地址的公共IP地址。這隻能從WAN(即LAN外部)看到。特技服務器的確有助於實現這一目標。

NAT穿越是一個複雜的課題。您可以在實用JXTA II書籍的相應章節中找到更多關於它的信息,可在線閱讀Scribd。

+0

謝謝,那本書看起來很有幫助,我會看看我能做些什麼。 – onemanandhishat 2011-03-23 13:17:09