如何在 Java 上同时支持 IPv4 和 IPv6
我们的Java程序之一在启动时,它只在IPv6上侦听(8080)
例如:
# netstat -ntpl
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp6 0 0 :::8080 :::* LISTEN -
tcp6 0 0 :::22 :::* LISTEN -
问题是它无法从外部访问(本地主机除外),要解决此问题,我有这个手动添加
-Djava.net.preferIPv4Stack=true
但这使得该程序仅适用于IPv4网络。
是否可以像上面那样做一些类似sshd的事情,都支持IPv4和IPv6?