/**服务端**/ import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class Server { public static final int PORT = 8080; public static void main(String[] args) throws IOException { ServerSocket server = new ServerSocket(PORT); System.out.println("Started " + server); try { Socket client = server.accept(); try { System.out.println("Connection accepted: " + client); BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream())); PrintWriter writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(client.getOutputStream())),true); while(true){ String str = reader.readLine(); if(str.equals("END"))break; System.out.println("Echoing:" + str); writer.println(str); } } finally{ System.out.println("closing..."); client.close(); } } finally{ server.close(); } } }
/**客户端**/ import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.InetAddress; import java.net.Socket; public class Client { public static void main(String[] args) throws IOException { InetAddress address = InetAddress.getByName(null); System.out.println("address:" + address); Socket client = new Socket(address,JobServer.PORT); try{ System.out.println("socket:" + client); BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream())); PrintWriter writer = new PrintWriter(new BufferedOutputStream(client.getOutputStream()),true); for(int i = 0; i < 10 ; i++){ writer.println("howdy " + i); String str = reader.readLine(); System.out.println(str); } writer.println("END"); }finally{ System.out.println("closing..."); client.close(); } } }