解决Java socket服务端返回了为什么客户端没有收到内容问题

一、整件事情的流程

首先我们来看一下Java Socket通信的一般流程:

步骤 客户端 服务端
1 创建Socket对象,指定服务端IP和端口 创建ServerSocket对象,指定端口
2 连接服务端 监听客户端连接请求
3 发送数据 接收数据
4 接收数据 发送数据
5 关闭Socket 关闭Socket

二、每一步需要做什么

1. 客户端创建Socket对象,指定服务端IP和端口

// 创建Socket对象,指定服务端IP和端口
Socket socket = new Socket("服务端IP", 端口号);

2. 服务端创建ServerSocket对象,指定端口

// 创建ServerSocket对象,指定端口
ServerSocket serverSocket = new ServerSocket(端口号);

3. 客户端连接服务端并发送数据

// 获取输出流,向服务端发送数据
OutputStream os = socket.getOutputStream();
os.write("Hello, Server".getBytes());

4. 服务端接收客户端发送的数据并返回数据

// 接收客户端连接
Socket socket = serverSocket.accept();

// 获取输入流,读取客户端发送的数据
InputStream is = socket.getInputStream();
byte[] buffer = new byte[1024];
int length = is.read(buffer);
String message = new String(buffer, 0, length);

// 返回数据给客户端
OutputStream os = socket.getOutputStream();
os.write("Hello, Client".getBytes());

5. 关闭Socket连接

// 关闭Socket连接
socket.close();

三、类图

classDiagram
    class Client {
        + Socket socket
        + void connect()
        + void send()
        + void receive()
        + void close()
    }
    class Server {
        + ServerSocket serverSocket
        + void listen()
        + void accept()
        + void receive()
        + void send()
        + void close()
    }

以上就是解决Java Socket服务端返回了为什么客户端没有收到内容问题的方法,通过以上步骤和代码,你可以成功实现客户端和服务端的通信。希望对你有帮助!