tcp-server/src/main/java/com/zhangmeng/handler/ClientHandler.java

68 lines
1.5 KiB
Java

package com.zhangmeng.handler;
import cn.hutool.core.io.BufferUtil;
import java.io.*;
import java.net.Socket;
/**
* @author zm
* @date 2025/2/21 15:40
* @version: 1.0
*/
public class ClientHandler implements Runnable {
private Socket socket;
// private BufferedReader reader;
// private BufferedWriter writer;
private OutputStream outputStream;
private InputStream inputStream;
public void close() {
try {
outputStream.close();
inputStream.close();
socket.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
@Override
public void run() {
while (true) {
try {
byte[] bytes = new byte[1024];
int len = inputStream.read(bytes);
if (len == -1) {
break;
}
String message = new String(bytes, 0, len);
System.out.println("receive message: " + message);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
public Socket getSocket() {
return socket;
}
public void setSocket(Socket socket) {
this.socket = socket;
}
public ClientHandler(Socket socket) {
this.socket = socket;
try {
this.inputStream = socket.getInputStream();
this.outputStream = socket.getOutputStream();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}