我有一个带有多个 NIC 和 IP 的多宿主系统。
我不确定 Sun JVM 如何选择代表“这个”系统的 IP(使用 Socket 或 URLConnection 连接到另一个系统时的“源 IP ”)。它是选择系统默认 NIC,还是对系统名称进行反向查找?等等
无论如何,有没有办法将 JVM 显式绑定到特定 IP?
或者,如果有人知道如何从 Axis Webservices 框架中做到这一点,那将非常有帮助。
非常感激..
我有一个带有多个 NIC 和 IP 的多宿主系统。
我不确定 Sun JVM 如何选择代表“这个”系统的 IP(使用 Socket 或 URLConnection 连接到另一个系统时的“源 IP ”)。它是选择系统默认 NIC,还是对系统名称进行反向查找?等等
无论如何,有没有办法将 JVM 显式绑定到特定 IP?
或者,如果有人知道如何从 Axis Webservices 框架中做到这一点,那将非常有帮助。
非常感激..
它是由操作系统完成的,而不是由 JVM 完成的。它使用路由表来确定哪个接口可以路由到您尝试到达的目的地,并使用它。
如果您有多个可以路由到给定目的地的接口,理论上您应该能够选择要使用的源地址,但我不知道您是否真的可以 --- 也许在连接之前绑定可以吗?但是,由于您无法访问路由表,您如何决定哪些接口可以到达目的地?
I'm not sure how to control it when using a URL
, but when creating a Socket
, you can use the constructor that takes a local address argument.