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

java获取服务器ip和端口,Java环境下获取服务器IP和端口的方法及实践

java获取服务器ip和端口,Java环境下获取服务器IP和端口的方法及实践

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地址

java获取服务器ip和端口,Java环境下获取服务器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地址和端口号的示例代码:

java获取服务器ip和端口,Java环境下获取服务器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获取服务器ip和端口,Java环境下获取服务器IP和端口的方法及实践

以下是一个使用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网络编程有所帮助。

黑狐家游戏

发表评论

最新文章