68 lines
1.5 KiB
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);
|
|
}
|
|
}
|
|
}
|