
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;/** * 定义消息处理线程 */class Msg extends Thread {    private Socket socket;    public Msg(Socket socket){        this.socket=socket;    }    @Override    public void run() {        this.msg();    }    private void msg(){        BufferedReader bufferedReader = null;        PrintWriter printWriter = null;        try{            bufferedReader= new BufferedReader(new InputStreamReader(this.socket.getInputStream()));            printWriter= new PrintWriter(this.socket.getOutputStream());            while(true){                printWriter.println(bufferedReader.readLine()+" [ok]");                printWriter.flush();            }        }catch (Exception e){            try {                System.out.println(this.socket.getInputStream()+"断线了");            } catch (IOException ex) {                ex.printStackTrace();            }finally {                if(bufferedReader!=null){                    try {                        bufferedReader.close();                    } catch (IOException ex) {                        ex.printStackTrace();                    }                }                if(printWriter!=null){                    printWriter.close();                }            }        }    }}public class EchoServer {    public static void main(String[] args) {        ServerSocket serverSocket = null;        try{            System.out.println("服务器启动,开始监听。。。。");            serverSocket= new ServerSocket(8888);            while(true){                Socket socket = serverSocket.accept();                new Msg(socket).start();                System.out.println("连接成功!!");            }        }catch (Exception e){            e.printStackTrace();        }finally {            if(serverSocket!=null){                try {                    serverSocket.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }    }}