java获取服务器ip和端口,Java环境下获取服务器IP和端口的方法及实践
- 综合资讯
- 2024-11-07 13:24:37
- 3

Java环境下获取服务器IP和端口,可通过InetAddress类实现。首先获取InetAddress实例,然后使用getHostAddress( 方法获取IP地址,使...
Java环境下获取服务器IP和端口,可通过InetAddress
类实现。首先获取InetAddress
实例,然后使用getHostAddress()
方法获取IP地址,使用getPort()
方法获取端口号。实际操作中,先获取服务器对象,再调用相应方法获取IP和端口。
在Java开发过程中,我们常常需要获取服务器的IP地址和端口号,以便于进行网络通信,在开发Web应用程序时,需要获取服务器的IP和端口来建立连接;在开发分布式系统时,需要获取其他服务器的IP和端口来实现服务之间的通信,本文将详细介绍Java获取服务器IP和端口的方法,并提供实际应用案例。
Java获取服务器IP和端口的方法
1、通过InetAddress类获取IP地址
InetAddress类是Java提供的一个用于获取IP地址的类,以下是通过InetAddress类获取服务器IP地址的示例代码:
import java.net.InetAddress; public class GetServerIP { public static void main(String[] args) { try { // 获取本地IP地址 InetAddress localIP = InetAddress.getLocalHost(); System.out.println("本地IP地址:" + localIP.getHostAddress()); // 获取远程服务器IP地址 InetAddress serverIP = InetAddress.getByName("www.baidu.com"); System.out.println("远程服务器IP地址:" + serverIP.getHostAddress()); } catch (Exception e) { e.printStackTrace(); } } }
2、通过Socket类获取IP地址和端口号
Socket类是Java网络编程的基础,通过Socket类可以获取服务器的IP地址和端口号,以下是通过Socket类获取服务器IP地址和端口号的示例代码:
import java.net.Socket; public class GetServerIPAndPort { 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(); } } }
实际应用案例
1、使用Java实现Web服务器
以下是一个使用Java实现Web服务器的简单示例:
import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class SimpleWebServer { public static void main(String[] args) { try { // 创建ServerSocket对象,监听指定端口 ServerSocket serverSocket = new ServerSocket(8080); System.out.println("Web服务器启动,监听端口:8080"); // 循环接收客户端请求 while (true) { Socket socket = serverSocket.accept(); System.out.println("接收到客户端请求:" + socket.getInetAddress().getHostAddress()); // 处理客户端请求 BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); String line = reader.readLine(); while (line != null) { System.out.println(line); line = reader.readLine(); } reader.close(); // 响应客户端请求 PrintWriter writer = new PrintWriter(socket.getOutputStream()); writer.println("HTTP/1.1 200 OK"); writer.println("Content-Type: text/html"); writer.println(); writer.println("<html><body><h1>欢迎访问我的Web服务器!</h1></body></html>"); writer.flush(); writer.close(); // 关闭Socket连接 socket.close(); } } catch (Exception e) { e.printStackTrace(); } } }
2、使用Java实现客户端与服务器之间的通信
以下是一个使用Java实现客户端与服务器之间通信的示例:
import java.io.*; import java.net.Socket; public class Client { public static void main(String[] args) { try { // 创建Socket对象,连接到服务器 Socket socket = new Socket("localhost", 8080); System.out.println("连接到服务器:" + socket.getInetAddress().getHostAddress()); // 发送数据到服务器 PrintWriter writer = new PrintWriter(socket.getOutputStream()); writer.println("Hello, Server!"); writer.flush(); // 接收服务器响应 BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); String line = reader.readLine(); while (line != null) { System.out.println(line); line = reader.readLine(); } reader.close(); // 关闭Socket连接 socket.close(); } catch (Exception e) { e.printStackTrace(); } } }
本文介绍了Java获取服务器IP和端口的方法,包括通过InetAddress类和Socket类,还提供了实际应用案例,如使用Java实现Web服务器和客户端与服务器之间的通信,希望本文能对您的Java网络编程有所帮助。
本文由智淘云于2024-11-07发表在智淘云,如有疑问,请联系我们。
本文链接:https://www.zhitaoyun.cn/650782.html
本文链接:https://www.zhitaoyun.cn/650782.html
发表评论