在支持IPv6的VPS上使用java的ServerSocket类监听某个端口时,通过“netstat -an”命令查看所监听的端口时发现格式是“:::nnn”,这是IPv6的格式,而IPv4的格式是“0.0.0.0:nnnn”,此时如果通过这个VPS的IPv4跟这个端口连接时可能会失败(搞不懂Amazon EC2为什么可以连接),可以在本地用“telnet 12.34.56.78 nnn”来试连接这个端口。
找了好多方法,包含想关掉IPv6功能,但不管是通过VPS的客服还是自己摸索最终都关不掉IPv6功能,没办法只有通过java的强制使用IPv4着手,还真有人碰到此类问题并告知了方法,参考链接在这里。
Feed: