Java后端获取服务端地址及端口号

在Java后端开发中,了解服务端的地址和端口号是至关重要的,因为这直接关系到服务的通信。在这篇文章中,我们将探讨如何获取服务端的地址和端口号,并提供相关代码示例。

1. 服务端地址与端口号的概念

服务端地址通常是指服务器的IP地址或域名,而端口号则是服务在服务器上运行时所监听的端口。一个服务可以通过IP地址和端口号进行唯一标识。这种标识允许客户端与服务端之间进行通信。

表1:服务端地址与端口号的区别
概念描述
服务端地址服务器的IP地址或域名
端口号服务在服务器上监听的端口

2. 获取服务端地址和端口号

在Java中,我们可以使用InetAddress类和ServerSocket类来获取服务端的地址和端口号。

2.1 使用InetAddress类获取地址

InetAddress类可以用来获取本机的IP地址。例如,我们可以通过如下代码获取本机的IP地址:

import java.net.InetAddress;
import java.net.UnknownHostException;

public class LocalHostInfo {
    public static void main(String[] args) {
        try {
            InetAddress localHost = InetAddress.getLocalHost();
            System.out.println("本机IP地址: " + localHost.getHostAddress());
            System.out.println("本机主机名: " + localHost.getHostName());
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
2.2 使用ServerSocket类获取端口号

通过ServerSocket类,我们可以指定一个端口号并获取该端口的信息。下面是一个示例代码:

import java.io.IOException;
import java.net.ServerSocket;

public class ServerInfo {
    public static void main(String[] args) {
        int port = 8080; // 指定要监听的端口
        try (ServerSocket serverSocket = new ServerSocket(port)) {
            System.out.println("服务端已启动,等待客户端连接...");
            System.out.println("服务端地址: " + serverSocket.getInetAddress().getHostAddress());
            System.out.println("服务端端口: " + serverSocket.getLocalPort());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
结果输出

运行上述代码时,如果成功,你将看到类似以下的输出:

服务端已启动,等待客户端连接...
服务端地址: 127.0.0.1
服务端端口: 8080
  • 1.
  • 2.
  • 3.

3. 类图示例

为了更好的理解这些类之间的关系,下面是一个简单的类图示例:

LocalHostInfo +main(String[] args) ServerInfo +main(String[] args) InetAddress +getLocalHost() : InetAddress +getHostAddress() : String +getHostName() : String ServerSocket +ServerSocket(int port) +getInetAddress() : InetAddress +getLocalPort() : int

结论

在Java后端开发中,获取服务端的地址和端口号是实现客户端与服务端通信的重要步骤。通过InetAddressServerSocket类,我们能够轻松地获取这些信息,以保证应用程序的正常运行。在实际开发中,始终关注这些细节,有助于排查网络问题和提升服务的稳定性。希望这篇文章对你理解Java后端服务端的地址与端口号有所帮助。