/** * TCPServerMutiThread */ import java.io.*; import java.net.*; public class TCPServerMutiThread implements Runnable { Socket connectionSocket; public TCPServerMutiThread (Socket connectionSocket){ this.connectionSocket= connectionSocket; } public void run() { String clientSentence; String capitalizedSentence; try{ BufferedReader inFromClient = new BufferedReader( new InputStreamReader(connectionSocket.getInputStream())); DataOutputStream outToClient= new DataOutputStream(this.connectionSocket.getOutputStream()); clientSentence = inFromClient.readLine(); capitalizedSentence = clientSentence.toUpperCase()+'/n'; outToClient.writeBytes(capitalizedSentence); }catch(Exception e){ System.out.println("ioexception:"+e); } } public static void main(String[] args) throws Exception{ ServerSocket welcomeSocket=new ServerSocket(6789); while(true){ Socket connectionSocket=welcomeSocket.accept(); new Thread(new TCPServerMutiThread (connectionSocket)).start(); } } } import java.io.*; import java.net.*; public class TCPClient{ public static void main(String argv[]) throws Exception{ String sentence; String modifiedSentence; BufferedReader inFromUser=new BufferedReader(new InputStreamReader(System.in)); Socket clientSocket = new Socket("localhost",6789); DataOutputStream outToServer=new DataOutputStream(clientSocket.getOutputStream()); BufferedReader inFromServer=new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); sentence=inFromUser.readLine(); outToServer.writeBytes(sentence+'/n'); modifiedSentence=inFromServer.readLine(); System.out.println("From server:"+modifiedSentence); clientSocket.close(); } }