Java RMI:运行 RMI 在互联网上的应用程序,路由器的 IP 地址为 public

Java RMI: running RMI application over the Internet with public IP of router

我们使用我们的私有 IP 地址 (192.168.x.x) 开发了一个 Java RMI 分布式棋盘游戏,在我们的 LAN 中的同行之间。现在老师让我们在家试试我们的应用程序:也就是说,我和我的同事应该在我们自己家里上网玩,看看我们的应用程序在没有网络的情况下的表现运行 在局域网中。我们应用程序的基本功能是每个玩家都知道参加比赛的所有同伴的 IP 地址。而不是通过 Internet,我们应该使用我们的 public 地址,我们的调制解调器路由器之一(具有开放端口,它将传入数据转发到端口 1099 到我们的机器)。有没有一种简单的方法可以从 java 代码中获取它?我怎样才能获得我的 public IP 以便与其他同行交流?谢谢

http://ipaddress.com,但老师想要的只有在你有一个可编程的路由器,你可以在其中打开端口并在内部转发它们时才有可能。许多路由器没有此功能:例如我的(ISP 提供的组合 modem/router)。