
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(); } } } }}