欢迎访问宙启技术站
智能推送

Java中的网络编程函数应用实例展示

发布时间:2023-09-13 23:13:06

Java中的网络编程是指利用Java语言进行网络通信的过程。网络编程函数是指Java语言中用于实现网络通信的函数或方法。

下面是一个Java中网络编程函数的应用实例:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
    public static void main(String[] args) {
        try {
            // 创建服务器套接字,监听指定端口
            ServerSocket serverSocket = new ServerSocket(8888);
            System.out.println("服务器已启动,正在监听8888端口...");

            // 接收客户端连接请求
            Socket clientSocket = serverSocket.accept();
            System.out.println("接收到一个客户端连接请求:" + clientSocket.getInetAddress() + ":" + clientSocket.getPort());

            // 获取输入输出流
            BufferedReader reader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
            PrintWriter writer = new PrintWriter(clientSocket.getOutputStream());

            // 读取客户端发送的消息
            String message = reader.readLine();
            System.out.println("接收到客户端的消息:" + message);

            // 向客户端发送消息
            writer.println("Hello, Client!");
            writer.flush();

            // 关闭连接
            clientSocket.close();
            serverSocket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上述代码是一个简单的服务器程序,通过ServerSocket类实现服务器的启动和监听。当收到客户端的连接请求后,获取输入输出流,读取客户端发送的消息并向客户端发送消息,最后关闭连接。

客户端程序如下所示:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class Client {
    public static void main(String[] args) {
        try {
            // 创建客户端套接字,指定服务器的IP地址和端口号
            Socket socket = new Socket("127.0.0.1", 8888);

            // 获取输入输出流
            BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            PrintWriter writer = new PrintWriter(socket.getOutputStream());

            // 向服务器发送消息
            writer.println("Hello, Server!");
            writer.flush();

            // 读取服务器发送的消息
            String message = reader.readLine();
            System.out.println("接收到服务器的消息:" + message);

            // 关闭连接
            socket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上述代码是一个简单的客户端程序,通过Socket类实现与服务器的连接。通过输入输出流,向服务器发送消息并读取服务器返回的消息,最后关闭连接。

在这个例子中,服务器和客户端通过输入输出流进行通信,使用BufferedReader和PrintWriter类来读写数据。服务器通过ServerSocket类监听8888端口,客户端通过Socket类连接到服务器的IP地址和端口号。通过输入输出流,实现双向通信。

这只是一个简单的例子,展示了Java中网络编程函数的应用。在实际应用中,还可以使用更多的网络编程函数来实现更复杂的功能,如文件传输、远程调用等。