gpt4 book ai didi

java - 如何决定 RMI 传输层应使用哪个物理接口(interface)?

转载 作者:行者123 更新时间:2023-12-01 15:32:47 26 4
gpt4 key购买 nike

当我使用客户端的远程引用时,一切正常。如果我尝试从 simu 使用此远程引用,则通信失败,因为服务器尝试使用来自 eth0 的 IP。令我困扰的是模拟器上报告了异常。我想我错过了什么?

[编辑]simu 提供了这个异常(exception):

java.rmi.ConnectIOException: Exception creating connection to eth0_IP;

nested exception is: java.net.SocketException: network is unreachable

Network Configuration

最佳答案

您需要设置the java.rmi.server.hostname property告诉 RMI 注册表在其 RMI URL 中返回哪个主机名或 IP 地址。

默认为系统上第一个接口(interface)的 IP 地址,这解释了为什么它只能通过 eth0 工作。

所以你需要类似的东西:

String ipAddress = "10.1.2.3"; //IP address of eth1
System.setProperty("java.rmi.server.hostname",ipAddress);

String hostname = "myserver"; //hostname that resolves for client and simu
System.setProperty("java.rmi.server.hostname",hostname);

关于java - 如何决定 RMI 传输层应使用哪个物理接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9375534/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com