Socket Mian Enter: public class ScockDemo { /** * @param args */ public static void main(String[] args) { try{ int i =1; ServerSocket ss = new ServerSocket(7070); while(true){ Socket incoming =ss.accept(); Runnable r = new TreaderedEchoHandler(incoming,i); Thread t = new Thread(r); t.start(); System.out.println("Connect "+i+" Client"); i++; } } catch(IOException e){ e.printStackTrace(); } } } TreaderedEchoHandler implements: import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.net.Socket; import java.util.Scanner; public class TreaderedEchoHandler implements Runnable { @Override public void run() { try{ try{ InputStream inStream =incoming.getInputStream(); OutputStream outStream =incoming.getOutputStream(); Scanner in = new Scanner(inStream); PrintWriter out = new PrintWriter(outStream,true); out.println("hello,enter 88 to exit!"); //echo client input. boolean done = false; while(!done && in.hasNextLine()){ String line = in.nextLine(); out.println("Echo: "+line); if(line.trim().equals("88")) done=true; } } finally{ incoming.close(); } } catch(IOException e){ e.printStackTrace(); } } public TreaderedEchoHandler(Socket i,int c){ this.incoming =i; this.counter = c; } private Socket incoming; private int counter; public int getCounter() { return counter; } }