我得到了一個項目,在該項目中我必須與沒有任何中間服務器的對等方共享文件。我想知道如何知道網絡上有多少主機在線以及如何連接到它們。我必須通過Java粗略地爲我的計算機中的主機創建路由表。Java中的對等2對等連接
回答
您不需要保留路由的任何軌跡。您所需要的只是瞭解端點地址。
您可以通過與主機建立連接來了解主機是否連接到網絡。
您提到不會有中間服務器,所以NAT穿孔不在您的問題範圍之內。
以起點看java.net.Socket
類的文檔。
我打算假設這是私人網絡。相對包含的東西。讓他們通過互聯網找對方聽起來像是一場噩夢。
因此,鑑於此,您的同行尋找對方的一個模型可能是選擇標準化的端口序列和活動信號。然後當對方搜索其他對象時,它只會遍歷網絡上的所有IP,並對該端口號發出請求。如果它得到一個活着的信號,它將它添加到一個表格中。信號計算機也必須記錄新角。
您必須選擇端口序列,以便它們通常在網絡上未使用。 (相當大)我說順序,以便有一個偏好,以加快搜索速度。
爲了加快搜索速度,當發送活動信號時,它也可以發送它的同級表和它檢查的IP(以及它以相同的方式接收到的)。然後,新的同伴只需要檢查網絡上的新IP,因爲具有該新程序的新實例的舊IP將建立自己。
希望有幫助
我們是否每次都必須與所有主機一起廣播對等表? –
不,完全沒有。如果對您更容易,您可以掃描整個網絡。讓系統發回表格還有一點工夫,但它可能會減少整個系統的網絡開銷。 – dakotapearl
- 1. iPhone對等2對等連接..有沒有辦法連接到多個設備?
- 2. Android對等連接
- 3. 對等連接android
- 4. 在線對等連接
- 5. 已連接多個對等
- 6. webRTC多對等連接
- 7. 連接重置對等
- 8. WebRTC:對等連接限制?
- 9. iOS中的多對等連接
- 10. iPhone中鈦對等連接支持
- 11. AWS:接受VPC對等連接請求
- 12. 使用RTMFP的對等連接
- 13. 如何獲取連接對等的ID?
- 14. 確定最快的BitTorrent對等連接
- 15. 在對等2個對等系統中自引導
- 16. Java對象相等
- 17. 在多對等連接中邀請對等體時偶爾發生崩潰
- 18. Multipeer Connectivity手動連接/管理對等
- 19. 從多對等連接禁用WiFi
- 20. 藍牙對等連接重置
- 21. Multipeer - 對等連接強度檢測
- 22. sqlalchemy pymssql「連接重置對等」恢復
- 23. 連接由對等[錯誤104]在Python
- 24. 對等套接字
- 25. 是否有可能通過3G上的NAT遍歷技術連接iPhones以用於對等2對等遊戲
- 26. GKSession對等體斷開導致其他對等體出現斷開連接
- 27. 在Windows上以Java編程創建一個wifi對等連接?
- 28. 等高內容對齊2絕對格
- 29. Java BorderLayout等大小/對齊
- 30. 相等對象比較:JAVA
我該如何獲得另一個端點地址? –
我可以通過getInetAddress()獲取遠程主機IP地址...但是不知道如何第一次連接到另一個端點,如果我不知道它的地址和服務器實現是不允許的話。提前致謝。 –
@RahulKumar你能否澄清一下你的問題。這是太抽象,給你任何建議 – Serge