以下是一个简单的Java ServerSocket实例,它接受客户端连接并收发数据:

import java.net.*;
import java.io.*;

public class Server {

    public static void main(String[] args) {
        try {
            ServerSocket server = new ServerSocket(8080); // 创建ServerSocket并监听8080端口
            System.out.println("Server started, waiting for client...");

            Socket client = server.accept(); // 等待客户端连接
            System.out.println("Client connected: " + client.getInetAddress().getHostAddress());

            // 获取输入流和输出流
            BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
            PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(client.getOutputStream())), true);

            while (true) {
                String msg = in.readLine(); // 读取客户端发送的数据
                if (msg == null) {
                    break;
                }
                System.out.println("Received message from client: " + msg);

                out.println("Server received: " + msg); // 发送数据给客户端
            }

            client.close(); // 关闭连接
            server.close();
            System.out.println("Server stopped.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

客户端可以使用类似以下代码进行连接和数据收发:

import java.net.*;
import java.io.*;

public class Client {

    public static void main(String[] args) {
        try {
            Socket client = new Socket("localhost", 8080); // 连接到ServerSocket监听的地址和端口
            System.out.println("Connected to server: " + client.getInetAddress().getHostAddress());

            // 获取输入流和输出流
            BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
            PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(client.getOutputStream())), true);

            out.println("Hello, server!"); // 发送数据给服务器

            String msg = in.readLine(); // 读取服务器发送的数据
            System.out.println("Received message from server: " + msg);

            client.close(); // 关闭连接
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
``
给一个java serverSocket 接收客户端连接并收发数据的实例

原文地址: https://www.cveoy.top/t/topic/fh2v 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录