java获取服务器ip和端口号,Java获取服务器IP地址与端口号的详细解析与实践
- 综合资讯
- 2024-11-25 07:29:59
- 2

本文详细解析了Java获取服务器IP地址和端口号的方法,并通过实际代码示例展示了如何获取服务器的IP和端口号。涵盖了使用InetAddress类、NetworkInte...
本文详细解析了Java获取服务器IP地址和端口号的方法,并通过实际代码示例展示了如何获取服务器的IP和端口号。涵盖了使用InetAddress类、NetworkInterface类以及ServerSocket类等不同方式,旨在帮助读者深入理解Java网络编程中的IP和端口获取技巧。
在Java开发过程中,我们常常需要获取服务器的IP地址和端口号,以便进行网络通信、配置服务器等操作,本文将详细介绍Java获取服务器IP地址和端口号的方法,并通过实例演示其应用。
Java获取服务器IP地址和端口号的方法
1、使用InetAddress类
InetAddress类是Java提供的一个用于处理IP地址的类,可以用来获取服务器的IP地址和端口号。
(1)获取本地IP地址
public static void main(String[] args) { try { InetAddress localHost = InetAddress.getLocalHost(); System.out.println("本地IP地址:" + localHost.getHostAddress()); } catch (UnknownHostException e) { e.printStackTrace(); } }
(2)获取指定主机IP地址
public static void main(String[] args) { try { InetAddress inetAddress = InetAddress.getByName("www.baidu.com"); System.out.println("百度IP地址:" + inetAddress.getHostAddress()); } catch (UnknownHostException e) { e.printStackTrace(); } }
2、使用Socket类
Socket类是Java网络编程的基础,可以用来获取服务器的IP地址和端口号。
public static void main(String[] args) { try { Socket socket = new Socket("www.baidu.com", 80); System.out.println("服务器IP地址:" + socket.getInetAddress().getHostAddress()); System.out.println("服务器端口号:" + socket.getPort()); socket.close(); } catch (IOException e) { e.printStackTrace(); } }
三、实例:使用Java实现简单的HTTP服务器
下面是一个使用Java实现简单HTTP服务器的实例,该服务器能够获取访问者的IP地址和端口号。
import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class SimpleHttpServer { public static void main(String[] args) { int port = 8080; try { ServerSocket serverSocket = new ServerSocket(port); System.out.println("HTTP服务器启动,监听端口:" + port); while (true) { Socket socket = serverSocket.accept(); System.out.println("接收到客户端连接,客户端IP:" + socket.getInetAddress().getHostAddress()); System.out.println("客户端端口号:" + socket.getPort()); new Thread(new ClientHandler(socket)).start(); } } catch (IOException e) { e.printStackTrace(); } } private static class ClientHandler implements Runnable { private Socket socket; public ClientHandler(Socket socket) { this.socket = socket; } @Override public void run() { try { BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); String line = reader.readLine(); if (line != null) { System.out.println("请求行:" + line); } String response = "HTTP/1.1 200 OK Content-Type: text/html Hello, World!"; PrintWriter writer = new PrintWriter(socket.getOutputStream()); writer.write(response); writer.flush(); writer.close(); reader.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); } } } }
运行上述程序,在浏览器中访问http://localhost:8080
,即可看到输出“Hello, World!”。
本文介绍了Java获取服务器IP地址和端口号的两种方法:使用InetAddress类和Socket类,通过一个简单的HTTP服务器实例,展示了如何获取访问者的IP地址和端口号,在实际开发中,这些知识可以帮助我们更好地进行网络编程和服务器配置。
本文由智淘云于2024-11-25发表在智淘云,如有疑问,请联系我们。
本文链接:https://www.zhitaoyun.cn/1061605.html
本文链接:https://www.zhitaoyun.cn/1061605.html
发表评论