為什么在 Windows 平臺上用 Naming.lookup 來獲取遠程 RMI 對象時會很慢?
1 回答

躍然一笑
TA貢獻1826條經驗 獲得超6個贊
機器的網絡設置不正確很可能會引起該問題的發生.
RMI 使用了 Java 網絡類,特別是 java.net.InetAddress 類,它將查詢 TCP/IP 的主機名, 包
括 IP 地址到主機名的映射和主機名到 IP 地址的映射.在 Windows 平臺,這種查詢功能 是由本地的 Windows Socket 庫來實現的. 因此延時是發生在 Windows 庫中,而非 RMI 中.
如果你的機器設置成使用 DNS,問題通常是 DNS 服務器查不到主機名,你所發現的延時
是 DNS 查詢的延時. 請嘗試將 RMI 通信中涉及到的所有主機名/IP 地址加到本地文件 winntsystem32driversetchosts 或 windowshosts 中. 格式如下:
IP 地址 主機名
如此設置應當可以明顯地減少查詢所花的時間.
添加回答
舉報
0/150
提交
取消