java获取服务器ip和端口号,Java环境下获取服务器IP地址与端口号的详细教程及实践案例
- 综合资讯
- 2025-04-13 04:05:10
- 2

Java环境下获取服务器IP地址与端口号,本文提供详细教程和实践案例,包括使用InetAddress类获取IP,通过ServerSocket获取端口号,并通过示例代码演...
Java环境下获取服务器IP地址与端口号,本文提供详细教程和实践案例,包括使用InetAddress类获取IP,通过ServerSocket获取端口号,并通过示例代码演示如何实现。
在Java编程中,我们经常会遇到需要获取服务器IP地址和端口号的场景,在搭建Web服务器、实现网络通信、进行远程调用等情况下,了解服务器IP地址和端口号是至关重要的,本文将详细介绍Java获取服务器IP地址与端口号的方法,并附带实际案例,帮助读者轻松掌握这一技能。
Java获取服务器IP地址的方法
使用InetAddress类
Java提供了InetAddress类来获取IP地址,以下是一个示例代码,展示如何使用InetAddress获取本地服务器的IP地址:
图片来源于网络,如有侵权联系删除
import java.net.InetAddress; public class GetServerIp { public static void main(String[] args) { try { InetAddress localHost = InetAddress.getLocalHost(); String ip = localHost.getHostAddress(); System.out.println("本地服务器IP地址:" + ip); } catch (Exception e) { e.printStackTrace(); } } }
使用NetworkInterface类
除了InetAddress类,Java还提供了NetworkInterface类来获取网络接口信息,以下是一个示例代码,展示如何使用NetworkInterface获取指定网络接口的IP地址:
import java.net.InetAddress; import java.net.NetworkInterface; import java.util.Enumeration; public class GetServerIp { public static void main(String[] args) { try { Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces(); while (interfaces.hasMoreElements()) { NetworkInterface networkInterface = interfaces.nextElement(); Enumeration<InetAddress> addresses = networkInterface.getInetAddresses(); while (addresses.hasMoreElements()) { InetAddress address = addresses.nextElement(); if (!address.isLoopbackAddress() && address.getHostAddress().contains(".")) { System.out.println("网络接口:" + networkInterface.getName()); System.out.println("IP地址:" + address.getHostAddress()); } } } } catch (Exception e) { e.printStackTrace(); } } }
Java获取服务器端口号的方法
使用ServerSocket类
ServerSocket类是Java提供的一个用于创建服务器端Socket的类,以下是一个示例代码,展示如何使用ServerSocket获取服务器端口号:
import java.net.ServerSocket; public class GetServerPort { public static void main(String[] args) { try { ServerSocket serverSocket = new ServerSocket(8080); int port = serverSocket.getLocalPort(); System.out.println("服务器端口号:" + port); serverSocket.close(); } catch (Exception e) { e.printStackTrace(); } } }
使用Socket类
图片来源于网络,如有侵权联系删除
Socket类是Java提供的一个用于客户端和服务器端进行网络通信的类,以下是一个示例代码,展示如何使用Socket获取服务器端口号:
import java.net.Socket; public class GetServerPort { public static void main(String[] args) { try { Socket socket = new Socket("localhost", 8080); int port = socket.getPort(); System.out.println("服务器端口号:" + port); socket.close(); } catch (Exception e) { e.printStackTrace(); } } }
实践案例
以下是一个简单的Web服务器示例,展示如何使用Java获取服务器IP地址和端口号:
import java.io.*; import java.net.*; public class SimpleWebServer { public static void main(String[] args) { try { ServerSocket serverSocket = new ServerSocket(8080); System.out.println("服务器启动,监听端口:" + serverSocket.getLocalPort()); while (true) { Socket socket = serverSocket.accept(); System.out.println("连接建立,客户端IP:" + socket.getInetAddress().getHostAddress()); System.out.println("客户端端口号:" + socket.getPort()); BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); String line = reader.readLine(); if (line == null) { break; } System.out.println("客户端请求:" + line); PrintWriter writer = new PrintWriter(socket.getOutputStream(), true); writer.println("HTTP/1.1 200 OK"); writer.println("Content-Type: text/html"); writer.println(); writer.println("<html><body><h1>你好,世界!</h1></body></html>"); writer.close(); reader.close(); socket.close(); } serverSocket.close(); } catch (Exception e) { e.printStackTrace(); } } }
在上述代码中,我们使用ServerSocket创建了一个监听8080端口的Web服务器,每当有客户端连接到服务器时,服务器会打印出客户端的IP地址和端口号,并返回一个简单的HTML页面。
本文详细介绍了Java获取服务器IP地址和端口号的方法,并通过实际案例展示了如何实现,掌握这些技能,可以帮助我们在Java编程中更好地处理网络通信任务,希望本文对您有所帮助!
本文链接:https://www.zhitaoyun.cn/2088118.html
发表评论