1 package MIME; 2 import java.io.*; 3 4 import java.net.*; 5 6 public class TalkClient { 7 public static void main(String args[]) throws Exception { 8 Socket client = new Socket("127.0.0.1", 9093); 9 client.setSoTimeout(3000); 10 Writer writer = new OutputStreamWriter(client.getOutputStream()); 11 writer.write("Hello aaa."); 12 InputStream inputStream = client.getInputStream(); 13 // BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); 14 // StringBuffer sb = new StringBuffer(); 15 // while(true){ 16 // sb.append(bufferedReader.readLine()); 17 // System.out.println(sb.toString()); 18 // if(-1==sb.indexOf("end")){ 19 // break; 20 // } 21 // } 22 // System.out.println(sb.toString()); 23 writer.flush(); 24 writer.close(); 25 } 26 }
1 package MINE; 2 3 import java.io.BufferedReader; 4 import java.io.IOException; 5 import java.io.InputStream; 6 import java.io.InputStreamReader; 7 import java.io.OutputStreamWriter; 8 import java.io.Writer; 9 import java.net.ServerSocket; 10 import java.net.Socket; 11 12 public class TalkServer { 13 14 public static void main(String args[]) throws IOException { 15 ServerSocket server = new ServerSocket(9093); 16 System.out.println("服务器监听启动!"); 17 while (true) { 18 Socket socket = server.accept(); 19 new Thread(new Handler(socket)).start(); 20 } 21 } 22 23 static class Handler implements Runnable{ 24 private Socket socket; 25 public Handler(Socket socket) { 26 this.socket = socket; 27 } 28 public void run() { 29 try { 30 dobiz(); 31 } catch (IOException e) { 32 e.printStackTrace(); 33 } 34 } 35 36 private void dobiz() throws IOException { 37 InputStream inputStream = socket.getInputStream(); 38 InputStreamReader inputStreamReader = new InputStreamReader(inputStream); 39 BufferedReader bufferedReader = new BufferedReader(inputStreamReader); 40 StringBuilder sb = new StringBuilder(); 41 while (true) { 42 String line = bufferedReader.readLine(); 43 if(line==null){ 44 break; 45 } 46 if(-1 != line.indexOf("end")){ 47 break; 48 } 49 sb.append(line); 50 } 51 System.out.println("from client: " + sb); 52 Writer writer = new OutputStreamWriter(socket.getOutputStream()); 53 writer.write("Hello client."); 54 writer.write("end "); 55 writer.flush(); 56 writer.close(); 57 socket.close(); 58 } 59 60 61 } 62 63 }