package org.nutz.net;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.Socket;
import org.nutz.lang.Strings;
public abstract class SocketLineHandler implements SocketHandler {
public void handle(Socket socket) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
Writer bw = new OutputStreamWriter(socket.getOutputStream());
String line;
while ((line = br.readLine()) != null) {
String re = handleLine(line);
if (!Strings.isBlank(re)) {
bw.write(re);
bw.flush();
}
}
}
protected abstract String handleLine(String line);
}