2011-12-22 79 views
1

我想使用p2p連接傳輸文件。將有一臺服務器或任何共同的地方共享建立連接的A和B計算機信息。在java中使用p2p連接的文件傳輸

我已經使用LAN創建了p2p連接。但是我的問題是 - 對於互聯網,我如何檢測2臺計算機的IP地址以進行套接字編程?或任何其他選項,以便我可以在兩臺連接了頻繁變化的IP地址的計算機之間傳輸文件?

在此先感謝。

+1

如果開發新的p2p庫不是您的目標,請查看JXTA http://www.ibm.com/developerworks/java/library/j-jxta2/ – andrey 2011-12-22 15:20:09

+1

搜索「P2P節點發現」或「P2P節點廣告「來獲得一些答案。 – halfer 2011-12-22 15:24:24

+0

jxta是巨大的。你能舉一些例子,以便我可以將文件轉移到其他計算機上嗎? – fean 2011-12-22 15:44:50

回答

1

JXTA是一個可以爲你做到的框架。我寫了一本名爲Practical JXTA的書,可以在Scribd上在線閱讀。它包含完整的代碼示例。你想使用2.6或2.7版本。

如果您不想使用框架,當您的中央對等設備連接到它時,它應該能夠讀取遠程邊緣對等設備的NAT轉換地址(請參閱Socket#getRemoteSocketAddress())。但是這對TCP來說無能爲力(簡單起見)。如果你使用UDP,那麼你就有機會,因爲一旦在NAT中打了一個UDP漏洞,許多對等方可以(通常)連接到它。