当前位置:首页 > 综合资讯 > 正文
黑狐家游戏

java获取服务器ip和端口号,Java获取服务器IP地址与端口号的详细解析与实践

java获取服务器ip和端口号,Java获取服务器IP地址与端口号的详细解析与实践

本文详细解析了Java获取服务器IP地址和端口号的方法,并通过实际代码示例展示了如何获取服务器的IP和端口号。涵盖了使用InetAddress类、NetworkInte...

本文详细解析了Java获取服务器IP地址和端口号的方法,并通过实际代码示例展示了如何获取服务器的IP和端口号。涵盖了使用InetAddress类、NetworkInterface类以及ServerSocket类等不同方式,旨在帮助读者深入理解Java网络编程中的IP和端口获取技巧。

在Java开发过程中,我们常常需要获取服务器的IP地址和端口号,以便进行网络通信、配置服务器等操作,本文将详细介绍Java获取服务器IP地址和端口号的方法,并通过实例演示其应用。

Java获取服务器IP地址和端口号的方法

1、使用InetAddress类

java获取服务器ip和端口号,Java获取服务器IP地址与端口号的详细解析与实践

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类

java获取服务器ip和端口号,Java获取服务器IP地址与端口号的详细解析与实践

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和端口号,Java获取服务器IP地址与端口号的详细解析与实践

本文介绍了Java获取服务器IP地址和端口号的两种方法:使用InetAddress类和Socket类,通过一个简单的HTTP服务器实例,展示了如何获取访问者的IP地址和端口号,在实际开发中,这些知识可以帮助我们更好地进行网络编程和服务器配置。

黑狐家游戏

发表评论

最新文章