java获取服务器ip和端口号,Java获取服务器IP地址与端口号的详解与实践
- 综合资讯
- 2024-11-03 15:38:05
- 2

Java获取服务器IP和端口号,主要涉及网络编程知识。可以通过Java内置的InetAddress类获取本地或远程服务器的IP地址,使用ServerSocket或Soc...
Java获取服务器IP和端口号,主要涉及网络编程知识。可以通过Java内置的InetAddress类获取本地或远程服务器的IP地址,使用ServerSocket或Socket类获取端口号。本文将详细介绍Java获取服务器IP和端口号的方法,并提供实际操作示例。
在Java开发过程中,获取服务器的IP地址和端口号是一项基础且重要的任务,通过获取这些信息,我们可以实现网络通信、配置服务器参数等功能,本文将详细介绍Java获取服务器IP地址与端口号的方法,并结合实际案例进行实践。
Java获取服务器IP地址的方法
1、使用InetAddress类
InetAddress类是Java提供的一个用于处理IP地址和主机名的类,通过InetAddress类,我们可以轻松获取服务器的IP地址。
import java.net.InetAddress; public class GetServerIP { public static void main(String[] args) { try { InetAddress address = InetAddress.getByName("www.baidu.com"); String ip = address.getHostAddress(); System.out.println("服务器的IP地址为:" + ip); } catch (Exception e) { e.printStackTrace(); } } }
2、使用NetworkInterface类
NetworkInterface类用于表示网络接口,通过该类,我们可以获取本机所有网络接口的详细信息,包括IP地址。
import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; 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> inetAddresses = networkInterface.getInetAddresses(); while (inetAddresses.hasMoreElements()) { InetAddress inetAddress = inetAddresses.nextElement(); if (!inetAddress.isLoopbackAddress() && inetAddress.getHostAddress().contains(".")) { System.out.println("服务器的IP地址为:" + inetAddress.getHostAddress()); } } } } catch (SocketException e) { e.printStackTrace(); } } }
Java获取服务器端口号的方法
1、使用Socket类
Socket类是Java网络编程中用于实现客户端与服务端通信的类,通过Socket类,我们可以获取服务器的端口号。
import java.net.Socket; public class GetServerPort { public static void main(String[] args) { try { Socket socket = new Socket("www.baidu.com", 80); int port = socket.getPort(); System.out.println("服务器的端口号为:" + port); socket.close(); } catch (Exception e) { e.printStackTrace(); } } }
2、使用ServerSocket类
ServerSocket类是Java网络编程中用于实现服务端监听的类,通过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(); } } }
实践案例
以下是一个简单的Java Web应用程序,用于获取服务器IP地址和端口号。
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class GetServerInfoServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>服务器信息</title>"); out.println("</head>"); out.println("<body>"); out.println("服务器的IP地址为:" + getServerIP()); out.println("<br>"); out.println("服务器的端口号为:" + getServerPort()); out.println("</body>"); out.println("</html>"); } private String getServerIP() { try { InetAddress address = InetAddress.getByName("www.baidu.com"); return address.getHostAddress(); } catch (Exception e) { return "获取IP地址失败"; } } private String getServerPort() { try { return new ServerSocket(8080).getLocalPort() + ""; } catch (Exception e) { return "获取端口号失败"; } } }
在上述代码中,我们创建了一个名为GetServerInfoServlet的Servlet,用于获取服务器的IP地址和端口号,在doGet方法中,我们通过调用getServerIP和getServerPort方法获取信息,并将结果显示在HTML页面中。
本文详细介绍了Java获取服务器IP地址和端口号的方法,包括使用InetAddress类、NetworkInterface类、Socket类和ServerSocket类,通过这些方法,我们可以轻松获取服务器信息,为Java网络编程提供便利,我们还通过一个实践案例展示了如何将获取到的信息展示在HTML页面中,希望本文对您有所帮助。
本文链接:https://zhitaoyun.cn/534195.html
发表评论