如何获取Java中的监听服务器端口?

How to get listening server port in Java?

我的应用程序部署在 websphere 服务器和 java 代码中,我需要获取服务器的监听端口。

注意: 我正在使用下面的行来获取系统的内部主机名。 InetAddress.getLocalHost().getHostName();

编辑: 我们的服务器位于本地端口 30036 和本地主机名上的 运行。我们无法从外部使用这些主机和端口连接此服务器。我们有单独的 public host/port 用于外部连接。但在我们的场景中,我们希望通过 java 代码访问同一服务器上的服务 运行。有什么方法可以动态获取这个内部端口?

您应该能够在您的服务方法(获取、post、服务等)中访问 request.getLocalPort()。这将告诉您请求来自哪个端口。有可能它在某个地方的路由期间发生了变化,并且服务器正在侦听的端口并不完全是客户端所知道的,但如果是这种情况,服务器绝对没有地方能够知道这一点。