将JVM绑定到默认值以外的IP

我有一个多宿主系统,有多个NIC和IP。

我不确定我的Sun JVM如何选择代表’this’系统的IP(当使用Socket或URLConnection连接到另一个系统时,这是“ 源IP ”)。 它是选择系统默认NIC,还是可以对系统名称进行反向查找? 等等

在任何情况下,有没有办法将JVM显式绑定到特定的IP?

或者,如果有人知道如何从Axis Webservices框架那样做,那将是非常有帮助的。

非常感激..

它由操作系统完成,而不是由JVM完成。 它使用路由表来确定哪个接口可以路由到您尝试访问的目标,并使用它。

如果你有多个可以路由到给定目的地的接口,理论上你应该能够选择你使用的源地址,但我不知道你是否真的可以—也许在连接之前绑定? 但是,由于您无法访问路由表,您如何确定哪些接口可以到达目的地?

我不确定如何在使用URL时控制它,但在创建Socket ,您可以使用带有本地地址参数的构造函数。