java获取服务器ip和端口号,Java获取服务器IP地址和端口号的深度解析与实践
- 综合资讯
- 2024-11-28 04:56:42
- 2

本文深入解析了Java获取服务器IP地址和端口号的方法,包括使用InetAddress类和Socket类。通过实际代码示例,展示了如何获取本机IP地址和特定服务器的IP...
本文深入解析了Java获取服务器IP地址和端口号的方法,包括使用InetAddress类和Socket类。通过实际代码示例,展示了如何获取本机IP地址和特定服务器的IP地址及端口号,为Java网络编程提供实用指导。
在Java编程中,获取服务器IP地址和端口号是一个常见的需求,无论是进行网络编程、分布式系统开发,还是进行性能测试,获取服务器的IP地址和端口号都是至关重要的,本文将深入解析Java获取服务器IP地址和端口号的方法,并通过实际案例进行演示,帮助读者更好地理解和应用这一技术。
Java获取服务器IP地址和端口号的方法
1、通过InetAddress类获取
InetAddress类是Java网络编程中常用的类,用于获取IP地址和端口号,以下是通过InetAddress类获取服务器IP地址和端口号的示例代码:
import java.net.InetAddress; public class GetServerInfo { public static void main(String[] args) { try { // 获取本地IP地址 InetAddress localHost = InetAddress.getLocalHost(); System.out.println("本地IP地址:" + localHost.getHostAddress()); // 获取服务器IP地址 InetAddress serverAddress = InetAddress.getByName("www.baidu.com"); System.out.println("服务器IP地址:" + serverAddress.getHostAddress()); // 获取服务器端口号 int serverPort = 80; System.out.println("服务器端口号:" + serverPort); } catch (Exception e) { e.printStackTrace(); } } }
2、通过Socket类获取
Socket类是Java网络编程中的另一个常用类,用于建立客户端与服务器的连接,以下是通过Socket类获取服务器IP地址和端口号的示例代码:
import java.net.Socket; public class GetServerInfo { public static void main(String[] args) { try { // 创建Socket对象 Socket socket = new Socket("www.baidu.com", 80); // 获取服务器IP地址 String serverIp = socket.getInetAddress().getHostAddress(); System.out.println("服务器IP地址:" + serverIp); // 获取服务器端口号 int serverPort = socket.getPort(); System.out.println("服务器端口号:" + serverPort); // 关闭Socket连接 socket.close(); } catch (Exception e) { e.printStackTrace(); } } }
3、通过JNDI服务获取
JNDI(Java Naming and Directory Interface)是Java提供的一种命名和目录服务接口,用于在分布式系统中查找和访问资源,以下是通过JNDI服务获取服务器IP地址和端口号的示例代码:
import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; public class GetServerInfo { public static void main(String[] args) { try { // 创建JNDI上下文 Context context = new InitialContext(); // 查找服务器资源 Object obj = context.lookup("rmi://localhost:1099/server"); // 获取服务器IP地址和端口号 String serverIp = obj.toString().split(":")[1]; int serverPort = Integer.parseInt(obj.toString().split(":")[2]); System.out.println("服务器IP地址:" + serverIp); System.out.println("服务器端口号:" + serverPort); } catch (NamingException e) { e.printStackTrace(); } } }
实际案例
1、使用Java编写一个简单的HTTP服务器,并获取客户端的IP地址和端口号。
import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class SimpleHttpServer { public static void main(String[] args) { try { // 创建服务器Socket ServerSocket serverSocket = new ServerSocket(8080); // 循环接收客户端连接 while (true) { Socket clientSocket = serverSocket.accept(); // 获取客户端IP地址和端口号 String clientIp = clientSocket.getInetAddress().getHostAddress(); int clientPort = clientSocket.getPort(); System.out.println("客户端IP地址:" + clientIp); System.out.println("客户端端口号:" + clientPort); // 关闭连接 clientSocket.close(); } } catch (IOException e) { e.printStackTrace(); } } }
2、使用Java编写一个简单的FTP服务器,并获取客户端的IP地址和端口号。
import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class SimpleFtpServer { public static void main(String[] args) { try { // 创建服务器Socket ServerSocket serverSocket = new ServerSocket(21); // 循环接收客户端连接 while (true) { Socket clientSocket = serverSocket.accept(); // 获取客户端IP地址和端口号 String clientIp = clientSocket.getInetAddress().getHostAddress(); int clientPort = clientSocket.getPort(); System.out.println("客户端IP地址:" + clientIp); System.out.println("客户端端口号:" + clientPort); // 关闭连接 clientSocket.close(); } } catch (IOException e) { e.printStackTrace(); } } }
本文详细解析了Java获取服务器IP地址和端口号的方法,包括通过InetAddress类、Socket类和JNDI服务获取,通过实际案例演示了如何使用Java编写简单的HTTP服务器和FTP服务器,并获取客户端的IP地址和端口号,希望本文对读者有所帮助。
本文由智淘云于2024-11-28发表在智淘云,如有疑问,请联系我们。
本文链接:https://zhitaoyun.cn/1139376.html
本文链接:https://zhitaoyun.cn/1139376.html
发表评论