为什么在 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
提交
取消