为什么在 Windows 平台上用 Naming.lookup 来获取远程 RMI 对象时会很慢?

为什么在 Windows 平台上用 Naming.lookup 来获取远程 RMI 对象时会很慢?


侃侃尔雅
浏览 1460回答 1
1回答

跃然一笑

机器的网络设置不正确很可能会引起该问题的发生. RMI 使用了 Java 网络类,特别是 java.net.InetAddress 类,它将查询 TCP/IP 的主机名, 包 括 IP 地址到主机名的映射和主机名到 IP 地址的映射.在 Windows 平台,这种查询功能 是由本地的 Windows Socket 库来实现的. 因此延时是发生在 Windows 库中,而非 RMI 中. 如果你的机器设置成使用 DNS,问题通常是 DNS 服务器查不到主机名,你所发现的延时 是 DNS 查询的延时. 请尝试将 RMI 通信中涉及到的所有主机名/IP 地址加到本地文件 winntsystem32driversetchosts 或 windowshosts 中. 格式如下: IP 地址 主机名 如此设置应当可以明显地减少查询所花的时间.
打开App,查看更多内容
随时随地看视频慕课网APP