2011-01-25 47 views
1

我正在使用Java在LAN網絡中開發一個非常簡單的文件共享程序。該軟件使用Socket ans ServerSocket類來發送和接收來自用戶知道其IP地址的機器。 我想改進軟件的方式是用戶可以輸入對方的機器用戶名而不是IP,例如,如果試圖連接到本機的其他機器的用戶是特定的用戶名,則允許連接。在遠程機器上的Java登錄用戶名

+0

只是一個想法:當我說我的服務器爲基礎的應用程序,我看着插座,發現這是一個繁重的工作相比,RMI。另外我認爲RMI也可能支持機器名稱。 – 2011-01-25 12:28:44

+1

你是什麼意思的用戶名? NetBIOS名稱下的Windows,主機名,域名或其他? – Dutow 2011-01-25 12:30:19

回答

0

解決方案將保持某種形式的username -> IP (or hostname)映射。這可以通過DHCP服務器來完成,但是這有點矯枉過正(如果你無法設置DHCP服務器,那麼這是不可能的),所以我建議你的程序自己維護一個映射。

要構建映射,您可以嘗試以下方法:當主機啓動時,它可以使用其用戶名發送LAN​​廣播消息以通知其存在。收到通知後,其他主機將註冊發件人主機的IP和用戶名,然後回答各自的用戶名和IP地址。

0

您必須製作單獨的應用程序,該應用程序將在始終打開的計算機上運行,​​並將保留與用戶名關聯的IP列表。您的文件共享應用程序將連接到要求用戶名的「服務器」,並返回它將返回您的文件共享應用程序用來連接到其他計算機的IP。

相關問題